@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.
- package/CHANGELOG.md +99 -0
- package/README.md +128 -4
- package/bun.lock +59 -0
- package/dist/{0X-Yw7mZEro.d.cts → 0X-CG1S1WKn.d.ts} +1 -2
- package/dist/{0X-C4IRh_fJ.d.ts → 0X-ChfmeAYF.d.cts} +1 -1
- package/dist/{1X-D_aUVsuM.d.cts → 1X-CmlbG02M.d.ts} +1 -2
- package/dist/{1X-BwpSoT3o.d.cts → 1X-DFikQbP0.d.cts} +1 -1
- package/dist/{1X-C-_KHV-Q.d.ts → 1X-DbFshzup.d.ts} +1 -2
- package/dist/{1X-Brnls9Jh.d.ts → 1X-jFrFCOs0.d.cts} +1 -1
- package/dist/{2X-UdQcQW24.d.ts → 2X-5cE4ojEX.d.cts} +1 -1
- package/dist/{2X-hClUyw26.d.cts → 2X-DA6J6Wd7.d.ts} +1 -2
- package/dist/{2X-Bb6elyzV.d.cts → 2X-FWZ1rYVt.d.cts} +1 -1
- package/dist/{2X-DkS1BoE5.d.ts → 2X-eC_p0QJf.d.ts} +1 -2
- package/dist/{3X-C7VFD-n-.d.cts → 3X-D9duw0Ro.d.cts} +1 -1
- package/dist/{3X-DFI-4RQQ.d.ts → 3X-DbfkwdkO.d.ts} +1 -2
- package/dist/{3X-DVDyspgb.d.ts → 3X-GxuN79Ax.d.ts} +1 -2
- package/dist/{3X-CLMESDvz.d.cts → 3X-r9xbWJ2l.d.cts} +1 -1
- package/dist/{4X-CIJ2JJ2w.d.ts → 4X-1ZkK-uH5.d.cts} +1 -1
- package/dist/{4X-CUR8jlaZ.d.ts → 4X-CLO9OuKa.d.cts} +1 -1
- package/dist/{4X-DIfvpU6V.d.cts → 4X-CnHtgO6u.d.ts} +1 -2
- package/dist/{4X-CvScPJTf.d.cts → 4X-DYz_nYSD.d.ts} +1 -2
- package/dist/{5X-COsZHUaQ.d.ts → 5X-BzPEdkbC.d.ts} +1 -2
- package/dist/{5X-C6db432h.d.ts → 5X-BziH0a09.d.cts} +1 -1
- package/dist/{5X-BOUxhadJ.d.cts → 5X-Cfe39fFc.d.cts} +1 -1
- package/dist/{5X-CkLu7Vyd.d.cts → 5X-kBF74qx1.d.ts} +1 -2
- package/dist/{6X-C_fFIcJC.d.ts → 6X-BceErbps.d.cts} +1 -1
- package/dist/{6X-DE7RJeV6.d.cts → 6X-C_xpeu6J.d.ts} +1 -2
- package/dist/{6X-ClZDKOTC.d.ts → 6X-DLWEe1bP.d.cts} +1 -1
- package/dist/{6X-Mf32k1d0.d.cts → 6X-sQZfT0ZK.d.ts} +1 -2
- package/dist/{7X-Chtd6B66.d.cts → 7X-Bet2agJ6.d.ts} +1 -2
- package/dist/{7X-kot_VccM.d.ts → 7X-BoKQxMoO.d.ts} +1 -2
- package/dist/{7X-BZyesooz.d.ts → 7X-CucHYQsA.d.cts} +1 -1
- package/dist/{7X-DoCUcp-J.d.cts → 7X-CwPAqozm.d.cts} +1 -1
- package/dist/{8X-Df4DOBOe.d.ts → 8X-BIjJ9kaV.d.cts} +1 -1
- package/dist/{8X-Dr9RunRw.d.cts → 8X-BOEWATU3.d.ts} +1 -2
- package/dist/{8X-DkuKAkHz.d.ts → 8X-CJpqd5xp.d.cts} +1 -1
- package/dist/{8X-DqZyMvyV.d.cts → 8X-s5AzkHR-.d.ts} +1 -2
- package/dist/{9X-BDgifncF.d.ts → 9X-BBDP1gZ6.d.ts} +1 -2
- package/dist/{9X-BaoZtjWF.d.cts → 9X-CP5Xp6bE.d.cts} +1 -1
- package/dist/{9X-BcAb6Uso.d.cts → 9X-D3aOVCnz.d.cts} +1 -1
- package/dist/{9X-BhBWlgxG.d.ts → 9X-DAAZV4sr.d.ts} +1 -2
- package/dist/{AX-D6XHWdrY.d.ts → AX-CmpMMhII.d.ts} +1 -2
- package/dist/{AX-BY72FohC.d.cts → AX-DFzpxGOT.d.cts} +1 -1
- package/dist/{BX-D_0C8Qbd.d.ts → BX-CyiqNE6b.d.cts} +1 -1
- package/dist/{BX-CA0OmrUZ.d.cts → BX-j78z_ju_.d.ts} +1 -2
- package/dist/{CX-glpQSL8x.d.cts → CX-B6rEhQx7.d.ts} +1 -2
- package/dist/{CX-HH4cSZRX.d.ts → CX-BTPvC3Dv.d.cts} +1 -1
- package/dist/{DX-DimL1MDM.d.cts → DX-BD4-hTCh.d.cts} +1 -1
- package/dist/{DX-Dx22ax_I.d.ts → DX-CAmMnx5a.d.ts} +1 -2
- package/dist/{EX-BRWh1wFc.d.ts → EX-CXhSC85J.d.ts} +1 -2
- package/dist/{EX-Cx87Ruxl.d.cts → EX-mTHCH0Yk.d.cts} +1 -1
- package/dist/{FX-D81UlxNN.d.cts → FX-DOOMoQl2.d.cts} +1 -1
- package/dist/{FX-RmjwAr40.d.ts → FX-DYVIJ3l0.d.ts} +1 -2
- package/dist/{GX-CJyo7oDp.d.ts → GX-8URJ7WHz.d.cts} +1 -1
- package/dist/{GX-9i7piP9G.d.cts → GX-eBOVHqi6.d.ts} +1 -2
- package/dist/{HX-20GVJAvl.d.cts → HX-49z8CzsE.d.cts} +1 -1
- package/dist/{HX-XALBTdLA.d.ts → HX-Dz5T0xXI.d.ts} +1 -2
- package/dist/{IX-6SZ55QKb.d.ts → IX-B6kblmBs.d.cts} +1 -1
- package/dist/{IX-D54NGPsc.d.cts → IX-PiKYro5a.d.ts} +1 -2
- package/dist/{JX-C1RYcwQX.d.cts → JX-DMwHLGEE.d.cts} +1 -1
- package/dist/{JX-hQ1XRmLp.d.ts → JX-Dvnt0mSK.d.ts} +1 -2
- package/dist/{KX-BNwunEfn.d.ts → KX-BUb8e0yg.d.ts} +1 -2
- package/dist/{KX-gQHCIgtQ.d.cts → KX-DaJPkefl.d.cts} +1 -1
- package/dist/{LX-CHYX3X3J.d.ts → LX-BnILxjdS.d.cts} +1 -1
- package/dist/{LX-CPurJGIh.d.cts → LX-l5ZBaGov.d.ts} +1 -2
- package/dist/{MX-BPGLWSUz.d.ts → MX-BbPO8mTj.d.cts} +1 -1
- package/dist/{MX-BnyW5eHf.d.cts → MX-C7C15AWi.d.ts} +1 -2
- package/dist/{NX-RulN5Ml3.d.ts → NX-C7nFVC-D.d.ts} +1 -2
- package/dist/{NX-B11fQuco.d.cts → NX-xy5uw7H3.d.cts} +1 -1
- package/dist/{OX-DgKVSp7I.d.ts → OX-CIzARbON.d.cts} +1 -1
- package/dist/{OX-T-ydRXQS.d.cts → OX-Dmkvcaij.d.ts} +1 -2
- package/dist/{PX-DA4A2kEv.d.ts → PX-BKZ14N7N.d.ts} +1 -2
- package/dist/{PX-p0n1SzvU.d.cts → PX-CL8waFgx.d.cts} +1 -1
- package/dist/{QX-DrFqsMEs.d.ts → QX-6xdSNtxZ.d.ts} +1 -2
- package/dist/{QX-CI1NccIB.d.cts → QX-BowAYqZb.d.cts} +1 -1
- package/dist/{RX-DnNKol22.d.cts → RX-DFoiOK5q.d.ts} +1 -2
- package/dist/{RX-Cm7vFcFN.d.ts → RX-fWoWcHTG.d.cts} +1 -1
- package/dist/{SX-BUjiWQYz.d.cts → SX-CZ3e31OT.d.cts} +1 -1
- package/dist/{SX-CsPPTu-W.d.ts → SX-D-Szi9wa.d.ts} +1 -2
- package/dist/{TX-DCY25MdR.d.ts → TX-CJhJ-HYX.d.cts} +1 -1
- package/dist/{TX-DOEpsf05.d.cts → TX-DTfkGsqn.d.ts} +1 -2
- package/dist/{UX-DgUOnTFK.d.cts → UX-Bw4HHAj4.d.ts} +1 -2
- package/dist/{UX-DauyagHy.d.ts → UX-P7-u2y70.d.cts} +1 -1
- package/dist/{VX-DD4scgCe.d.ts → VX-C8Eu5gQf.d.cts} +1 -1
- package/dist/{VX-kUX6LM-3.d.cts → VX-DCv5x_hi.d.ts} +1 -2
- package/dist/{WX-DPfyPFFh.d.cts → WX-BYtJ5_if.d.ts} +1 -2
- package/dist/{WX-CjkoppdY.d.ts → WX-DkiaqB2V.d.cts} +1 -1
- package/dist/{XX-sbsIUOnA.d.ts → XX-D4p4iK-a.d.cts} +1 -1
- package/dist/{XX-C4C1gQZH.d.cts → XX-Jo1yJO3A.d.ts} +1 -2
- package/dist/{YX-DUdO8mRC.d.ts → YX-BvGmEsVG.d.ts} +1 -2
- package/dist/{YX-BeT-LsiA.d.cts → YX-Du8zv9qz.d.cts} +1 -1
- package/dist/{ZX-BuVTTq-D.d.cts → ZX-B4jFD-21.d.cts} +1 -1
- package/dist/{ZX-DwfcSA-D.d.ts → ZX-B59AJcBY.d.ts} +1 -2
- package/dist/api/platform/platformLogin.d.ts +58 -60
- package/dist/api/platform/platformLogin.js +1 -1
- package/dist/certificate-DFK-788s.cjs +62 -0
- package/dist/certificate-DFK-788s.cjs.map +1 -0
- package/dist/certificate-aooIRf9A.js +49 -0
- package/dist/{classification-codes-C2X4xW5-.d.ts → classification-codes-BKxV-rO9.d.ts} +1 -2
- package/dist/{country-code-DsI8Mbzx.d.ts → country-code-CQuaiQm2.d.ts} +1 -2
- package/dist/{currencies-DKuDflOO.d.ts → currencies-BYJK-m6v.d.ts} +1 -2
- package/dist/document-DMIMRJV0.cjs +472 -0
- package/dist/document-DMIMRJV0.cjs.map +1 -0
- package/dist/document-NQos5fSr.js +405 -0
- package/dist/documents-BVG7KIKY.d.ts +847 -0
- package/dist/documents-C066EC9m.d.cts +848 -0
- package/dist/{e-invoice-C2TxhyrK.d.ts → e-invoice-CmbLQkHw.d.ts} +1 -2
- package/dist/{getBaseUrl-Dx6RDC8I.js → getBaseUrl-R3IdgCu3.js} +1 -2
- package/dist/{index-B1DSs-wd.d.cts → index-0-EvC6Nv.d.ts} +1 -2
- package/dist/{index-FTgB2nM6.d.ts → index-D2_HVwCz.d.cts} +1 -1
- package/dist/index.cjs +308 -12
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +233 -60
- package/dist/index.js +306 -11
- package/dist/index10.cjs +0 -34
- package/dist/index11.cjs +25 -15
- package/dist/index11.cjs.map +1 -1
- package/dist/index12.cjs +24 -0
- package/dist/index12.cjs.map +1 -0
- package/dist/index13.cjs +0 -13
- package/dist/index15.cjs +3 -2
- package/dist/index16.cjs +12 -16
- package/dist/index17.cjs +2 -2
- package/dist/index18.cjs +336 -204
- package/dist/index18.cjs.map +1 -1
- package/dist/index19.cjs +325 -105
- package/dist/index19.cjs.map +1 -1
- package/dist/index20.cjs +136 -133
- package/dist/index20.cjs.map +1 -1
- package/dist/index21.cjs +2 -63
- package/dist/index22.cjs +203 -262
- package/dist/index22.cjs.map +1 -1
- package/dist/index23.cjs +104 -74
- package/dist/index23.cjs.map +1 -1
- package/dist/index24.cjs +132 -102
- package/dist/index24.cjs.map +1 -1
- package/dist/index25.cjs +59 -68
- package/dist/index25.cjs.map +1 -1
- package/dist/index26.cjs +262 -107
- package/dist/index26.cjs.map +1 -1
- package/dist/index27.cjs +74 -95
- package/dist/index27.cjs.map +1 -1
- package/dist/index28.cjs +102 -13
- package/dist/index28.cjs.map +1 -1
- package/dist/index29.cjs +68 -33
- package/dist/index29.cjs.map +1 -1
- package/dist/index30.cjs +107 -14
- package/dist/index30.cjs.map +1 -1
- package/dist/index31.cjs +95 -24
- package/dist/index31.cjs.map +1 -1
- package/dist/index32.cjs +11 -13
- package/dist/index32.cjs.map +1 -1
- package/dist/index33.cjs +31 -7
- package/dist/index33.cjs.map +1 -1
- package/dist/index34.cjs +12 -7
- package/dist/index34.cjs.map +1 -1
- package/dist/index35.cjs +22 -10
- package/dist/index35.cjs.map +1 -1
- package/dist/index36.cjs +13 -6
- package/dist/index36.cjs.map +1 -1
- package/dist/index37.cjs +7 -101
- package/dist/index37.cjs.map +1 -1
- package/dist/index38.cjs +7 -106
- package/dist/index38.cjs.map +1 -1
- package/dist/index39.cjs +10 -119
- package/dist/index39.cjs.map +1 -1
- package/dist/index40.cjs +6 -106
- package/dist/index40.cjs.map +1 -1
- package/dist/index41.cjs +101 -98
- package/dist/index41.cjs.map +1 -1
- package/dist/index42.cjs +106 -118
- package/dist/index42.cjs.map +1 -1
- package/dist/index43.cjs +119 -127
- package/dist/index43.cjs.map +1 -1
- package/dist/index44.cjs +106 -117
- package/dist/index44.cjs.map +1 -1
- package/dist/index45.cjs +98 -14
- package/dist/index45.cjs.map +1 -1
- package/dist/index46.cjs +118 -95
- package/dist/index46.cjs.map +1 -1
- package/dist/index47.cjs +127 -142
- package/dist/index47.cjs.map +1 -1
- package/dist/index48.cjs +117 -114
- package/dist/index48.cjs.map +1 -1
- package/dist/index49.cjs +14 -144
- package/dist/index49.cjs.map +1 -1
- package/dist/index5.cjs +0 -25
- package/dist/index50.cjs +95 -113
- package/dist/index50.cjs.map +1 -1
- package/dist/index51.cjs +142 -17
- package/dist/index51.cjs.map +1 -1
- package/dist/index52.cjs +114 -112
- package/dist/index52.cjs.map +1 -1
- package/dist/index53.cjs +144 -47
- package/dist/index53.cjs.map +1 -1
- package/dist/index54.cjs +113 -14
- package/dist/index54.cjs.map +1 -1
- package/dist/index55.cjs +17 -28
- package/dist/index55.cjs.map +1 -1
- package/dist/index56.cjs +112 -22
- package/dist/index56.cjs.map +1 -1
- package/dist/index57.cjs +47 -9
- package/dist/index57.cjs.map +1 -1
- package/dist/index58.cjs +14 -8
- package/dist/index58.cjs.map +1 -1
- package/dist/index58.cts.map +1 -0
- package/dist/index59.cjs +28 -17
- package/dist/index59.cjs.map +1 -1
- package/dist/index59.cts.map +1 -1
- package/dist/index6.cjs +25 -0
- package/dist/{index5.cjs.map → index6.cjs.map} +1 -1
- package/dist/index60.cjs +22 -412
- package/dist/index60.cjs.map +1 -1
- package/dist/index60.cts.map +1 -0
- package/dist/index61.cjs +9 -8
- package/dist/index61.cjs.map +1 -1
- package/dist/index61.cts.map +1 -0
- package/dist/index62.cjs +8 -9
- package/dist/index62.cjs.map +1 -1
- package/dist/index62.cts.map +1 -1
- package/dist/index63.cjs +24 -0
- package/dist/index63.cjs.map +1 -0
- package/dist/index63.cts.map +1 -1
- package/dist/index64.cjs +419 -0
- package/dist/index64.cjs.map +1 -0
- package/dist/index64.cts.map +1 -1
- package/dist/index65.cjs +9 -116
- package/dist/index65.cjs.map +1 -1
- package/dist/index65.cts.map +1 -1
- package/dist/index66.cjs +10 -223
- package/dist/index66.cjs.map +1 -1
- package/dist/index66.cts.map +1 -1
- package/dist/index8.cjs +0 -25
- package/dist/index9.cjs +25 -0
- package/dist/{index8.cjs.map → index9.cjs.map} +1 -1
- package/dist/{msic-codes-B_1W6lZF.d.cts → msic-codes-CPWVNnpq.d.cts} +11 -11
- package/dist/msic-codes-DToUqTI6.d.ts +25 -0
- package/dist/{payment-modes-DHihrywe.d.cts → payment-modes-DA7uBIGb.d.ts} +1 -2
- package/dist/{payment-modes-B8dNy3SM.d.ts → payment-modes-FX88uyhP.d.cts} +1 -1
- package/dist/platformLogin-PGzMhw1X.cjs.map +1 -1
- package/dist/{platformLogin-DsxWWUXr.js → platformLogin-f0bNAoZI.js} +1 -2
- package/dist/{signatures-C9QPZTQd.d.ts → signatures-CG175mpg.d.ts} +1 -2
- package/dist/{state-codes-DXSWtE6a.d.cts → state-codes-CNp_6051.d.cts} +1 -1
- package/dist/{state-codes-CxG1S9YY.d.ts → state-codes-dvoTe5pC.d.ts} +1 -2
- package/dist/{tax-types-CEpfSh5P.d.ts → tax-types-tosH5I0q.d.ts} +1 -2
- 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 +7 -0
- package/dist/types/e-invoice.d.ts +1 -1
- package/dist/types/index.d.ts +58 -59
- 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/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/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/unit-types-BKZxwVYQ.d.ts +55 -0
- package/dist/unit-types-CaOA5ZDG.d.cts +56 -0
- package/dist/utils/base64.d.ts +1 -2
- package/dist/utils/base64.js +1 -2
- package/dist/utils/certificate.d.ts +22 -0
- package/dist/utils/certificate.js +3 -0
- package/dist/utils/document.d.ts +135 -0
- package/dist/utils/document.js +3 -0
- package/dist/utils/getBaseUrl.d.ts +1 -2
- package/dist/utils/getBaseUrl.js +1 -1
- package/dist/utils/helpers.d.ts +271 -0
- package/dist/utils/helpers.js +330 -0
- package/dist/utils/signature-diagnostics.d.ts +93 -0
- package/dist/utils/signature-diagnostics.js +326 -0
- package/dist/utils/validation.d.ts +46 -0
- package/dist/utils/validation.js +134 -0
- package/myinvois-cert.conf.template +23 -0
- package/package.json +9 -3
- package/scripts/gen-cert.sh +159 -0
- package/src/api/platform/platformLogin.ts +1 -1
- package/src/index.ts +528 -1
- package/src/types/documents.d.ts +862 -0
- package/src/types/index.d.ts +1 -1
- package/src/utils/certificate.ts +60 -0
- package/src/utils/document.ts +852 -0
- package/src/utils/helpers.ts +552 -0
- package/src/utils/signature-diagnostics.ts +583 -0
- package/src/utils/validation.ts +268 -0
- package/test/MyInvoiClientWithRealData.test.ts +9 -1
- package/test/MyInvoisClient.test.ts +7 -1
- package/test/dynamicInvoiceFeatures.test.ts +449 -0
- package/test/signAndSubmitInvoice.test.ts +269 -734
- package/test/signature-diagnostics.test.ts +128 -0
- package/tsconfig.json +0 -3
- package/dist/0X-C4IRh_fJ.d.ts.map +0 -1
- package/dist/0X-Yw7mZEro.d.cts.map +0 -1
- package/dist/1X-Brnls9Jh.d.ts.map +0 -1
- package/dist/1X-BwpSoT3o.d.cts.map +0 -1
- package/dist/1X-C-_KHV-Q.d.ts.map +0 -1
- package/dist/1X-D_aUVsuM.d.cts.map +0 -1
- package/dist/2X-Bb6elyzV.d.cts.map +0 -1
- package/dist/2X-DkS1BoE5.d.ts.map +0 -1
- package/dist/2X-UdQcQW24.d.ts.map +0 -1
- package/dist/2X-hClUyw26.d.cts.map +0 -1
- package/dist/3X-C7VFD-n-.d.cts.map +0 -1
- package/dist/3X-CLMESDvz.d.cts.map +0 -1
- package/dist/3X-DFI-4RQQ.d.ts.map +0 -1
- package/dist/3X-DVDyspgb.d.ts.map +0 -1
- package/dist/4X-CIJ2JJ2w.d.ts.map +0 -1
- package/dist/4X-CUR8jlaZ.d.ts.map +0 -1
- package/dist/4X-CvScPJTf.d.cts.map +0 -1
- package/dist/4X-DIfvpU6V.d.cts.map +0 -1
- package/dist/5X-BOUxhadJ.d.cts.map +0 -1
- package/dist/5X-C6db432h.d.ts.map +0 -1
- package/dist/5X-COsZHUaQ.d.ts.map +0 -1
- package/dist/5X-CkLu7Vyd.d.cts.map +0 -1
- package/dist/6X-C_fFIcJC.d.ts.map +0 -1
- package/dist/6X-ClZDKOTC.d.ts.map +0 -1
- package/dist/6X-DE7RJeV6.d.cts.map +0 -1
- package/dist/6X-Mf32k1d0.d.cts.map +0 -1
- package/dist/7X-BZyesooz.d.ts.map +0 -1
- package/dist/7X-Chtd6B66.d.cts.map +0 -1
- package/dist/7X-DoCUcp-J.d.cts.map +0 -1
- package/dist/7X-kot_VccM.d.ts.map +0 -1
- package/dist/8X-Df4DOBOe.d.ts.map +0 -1
- package/dist/8X-DkuKAkHz.d.ts.map +0 -1
- package/dist/8X-DqZyMvyV.d.cts.map +0 -1
- package/dist/8X-Dr9RunRw.d.cts.map +0 -1
- package/dist/9X-BDgifncF.d.ts.map +0 -1
- package/dist/9X-BaoZtjWF.d.cts.map +0 -1
- package/dist/9X-BcAb6Uso.d.cts.map +0 -1
- package/dist/9X-BhBWlgxG.d.ts.map +0 -1
- package/dist/AX-BY72FohC.d.cts.map +0 -1
- package/dist/AX-D6XHWdrY.d.ts.map +0 -1
- package/dist/BX-CA0OmrUZ.d.cts.map +0 -1
- package/dist/BX-D_0C8Qbd.d.ts.map +0 -1
- package/dist/CX-HH4cSZRX.d.ts.map +0 -1
- package/dist/CX-glpQSL8x.d.cts.map +0 -1
- package/dist/DX-DimL1MDM.d.cts.map +0 -1
- package/dist/DX-Dx22ax_I.d.ts.map +0 -1
- package/dist/EX-BRWh1wFc.d.ts.map +0 -1
- package/dist/EX-Cx87Ruxl.d.cts.map +0 -1
- package/dist/FX-D81UlxNN.d.cts.map +0 -1
- package/dist/FX-RmjwAr40.d.ts.map +0 -1
- package/dist/GX-9i7piP9G.d.cts.map +0 -1
- package/dist/GX-CJyo7oDp.d.ts.map +0 -1
- package/dist/HX-20GVJAvl.d.cts.map +0 -1
- package/dist/HX-XALBTdLA.d.ts.map +0 -1
- package/dist/IX-6SZ55QKb.d.ts.map +0 -1
- package/dist/IX-D54NGPsc.d.cts.map +0 -1
- package/dist/JX-C1RYcwQX.d.cts.map +0 -1
- package/dist/JX-hQ1XRmLp.d.ts.map +0 -1
- package/dist/KX-BNwunEfn.d.ts.map +0 -1
- package/dist/KX-gQHCIgtQ.d.cts.map +0 -1
- package/dist/LX-CHYX3X3J.d.ts.map +0 -1
- package/dist/LX-CPurJGIh.d.cts.map +0 -1
- package/dist/MX-BPGLWSUz.d.ts.map +0 -1
- package/dist/MX-BnyW5eHf.d.cts.map +0 -1
- package/dist/MyInvoisClient-BrNyMjS-.d.cts +0 -178
- package/dist/MyInvoisClient-BrNyMjS-.d.cts.map +0 -1
- package/dist/MyInvoisClient-CXu4pdl-.d.ts +0 -178
- package/dist/MyInvoisClient-CXu4pdl-.d.ts.map +0 -1
- package/dist/MyInvoisClient-Cnvb5iUC.js +0 -299
- package/dist/MyInvoisClient-Cnvb5iUC.js.map +0 -1
- package/dist/MyInvoisClient-DO1dJfQq.cjs +0 -304
- package/dist/MyInvoisClient-DO1dJfQq.cjs.map +0 -1
- package/dist/NX-B11fQuco.d.cts.map +0 -1
- package/dist/NX-RulN5Ml3.d.ts.map +0 -1
- package/dist/OX-DgKVSp7I.d.ts.map +0 -1
- package/dist/OX-T-ydRXQS.d.cts.map +0 -1
- package/dist/PX-DA4A2kEv.d.ts.map +0 -1
- package/dist/PX-p0n1SzvU.d.cts.map +0 -1
- package/dist/QX-CI1NccIB.d.cts.map +0 -1
- package/dist/QX-DrFqsMEs.d.ts.map +0 -1
- package/dist/RX-Cm7vFcFN.d.ts.map +0 -1
- package/dist/RX-DnNKol22.d.cts.map +0 -1
- package/dist/SX-BUjiWQYz.d.cts.map +0 -1
- package/dist/SX-CsPPTu-W.d.ts.map +0 -1
- package/dist/TX-DCY25MdR.d.ts.map +0 -1
- package/dist/TX-DOEpsf05.d.cts.map +0 -1
- package/dist/UX-DauyagHy.d.ts.map +0 -1
- package/dist/UX-DgUOnTFK.d.cts.map +0 -1
- package/dist/VX-DD4scgCe.d.ts.map +0 -1
- package/dist/VX-kUX6LM-3.d.cts.map +0 -1
- package/dist/WX-CjkoppdY.d.ts.map +0 -1
- package/dist/WX-DPfyPFFh.d.cts.map +0 -1
- package/dist/XX-C4C1gQZH.d.cts.map +0 -1
- package/dist/XX-sbsIUOnA.d.ts.map +0 -1
- package/dist/YX-BeT-LsiA.d.cts.map +0 -1
- package/dist/YX-DUdO8mRC.d.ts.map +0 -1
- package/dist/ZX-BuVTTq-D.d.cts.map +0 -1
- package/dist/ZX-DwfcSA-D.d.ts.map +0 -1
- package/dist/api/platform/platformLogin.d.ts.map +0 -1
- package/dist/canonicalize-C_fNNpYr.cjs +0 -80
- package/dist/canonicalize-C_fNNpYr.cjs.map +0 -1
- package/dist/canonicalize-DNUrCGad.js +0 -68
- package/dist/canonicalize-DNUrCGad.js.map +0 -1
- package/dist/classification-codes-B15PbWxz.d.cts.map +0 -1
- package/dist/classification-codes-C2X4xW5-.d.ts.map +0 -1
- package/dist/country-code-DPeNFMMi.d.cts.map +0 -1
- package/dist/country-code-DsI8Mbzx.d.ts.map +0 -1
- package/dist/currencies-DKuDflOO.d.ts.map +0 -1
- package/dist/currencies-S5g1gzBU.d.cts.map +0 -1
- package/dist/e-invoice-BuwtFnlI.d.cts.map +0 -1
- package/dist/e-invoice-C2TxhyrK.d.ts.map +0 -1
- package/dist/getBaseUrl-Dx6RDC8I.js.map +0 -1
- package/dist/hashCert-Bol7lIh2.js +0 -62
- package/dist/hashCert-Bol7lIh2.js.map +0 -1
- package/dist/hashCert-mlYEuYex.cjs +0 -68
- package/dist/hashCert-mlYEuYex.cjs.map +0 -1
- package/dist/hashSignedProperties-9vj5wlYR.js +0 -83
- package/dist/hashSignedProperties-9vj5wlYR.js.map +0 -1
- package/dist/hashSignedProperties-CU_ZqqmY.cjs +0 -95
- package/dist/hashSignedProperties-CU_ZqqmY.cjs.map +0 -1
- package/dist/index-B1DSs-wd.d.cts.map +0 -1
- package/dist/index-CJNLQVjx.d.ts +0 -1
- package/dist/index-FTgB2nM6.d.ts.map +0 -1
- package/dist/index-Wy1ONBjV.d.cts +0 -1
- package/dist/index10.cjs.map +0 -1
- package/dist/index21.cjs.map +0 -1
- package/dist/index67.cjs +0 -4
- package/dist/index67.cts.map +0 -1
- package/dist/index68.cjs +0 -3
- package/dist/index68.cts.map +0 -1
- package/dist/index69.cjs +0 -4
- package/dist/index69.cts.map +0 -1
- package/dist/index70.cjs +0 -3
- package/dist/index70.cts.map +0 -1
- package/dist/index71.cjs +0 -3
- package/dist/index71.cts.map +0 -1
- package/dist/index72.cjs +0 -3
- package/dist/index72.cts.map +0 -1
- package/dist/index73.cjs +0 -3
- package/dist/index73.cts.map +0 -1
- package/dist/invoice-1_1-BJVcw-oE.d.ts +0 -432
- package/dist/invoice-1_1-BJVcw-oE.d.ts.map +0 -1
- package/dist/invoice-1_1-DWdNPRzr.d.cts +0 -432
- package/dist/invoice-1_1-DWdNPRzr.d.cts.map +0 -1
- package/dist/invoice1-1-8S-QQn7P.cjs +0 -547
- package/dist/invoice1-1-8S-QQn7P.cjs.map +0 -1
- package/dist/invoice1-1-CHuLpkFz.js +0 -504
- package/dist/invoice1-1-CHuLpkFz.js.map +0 -1
- package/dist/msic-codes-B_1W6lZF.d.cts.map +0 -1
- package/dist/msic-codes-bs0lTfSZ.d.ts +0 -26
- package/dist/msic-codes-bs0lTfSZ.d.ts.map +0 -1
- package/dist/payment-modes-B8dNy3SM.d.ts.map +0 -1
- package/dist/payment-modes-DHihrywe.d.cts.map +0 -1
- package/dist/platformLogin-DsxWWUXr.js.map +0 -1
- package/dist/populateFinalDocument-BdyYzz5Y.cjs +0 -96
- package/dist/populateFinalDocument-BdyYzz5Y.cjs.map +0 -1
- package/dist/populateFinalDocument-BpLXmgLv.js +0 -90
- package/dist/populateFinalDocument-BpLXmgLv.js.map +0 -1
- package/dist/populateSignedProperties-BJMcBQ6S.cjs +0 -58
- package/dist/populateSignedProperties-BJMcBQ6S.cjs.map +0 -1
- package/dist/populateSignedProperties-BvGN-YZH.js +0 -52
- package/dist/populateSignedProperties-BvGN-YZH.js.map +0 -1
- package/dist/sign-B61Cy3gO.cjs +0 -40
- package/dist/sign-B61Cy3gO.cjs.map +0 -1
- package/dist/sign-DzHK7UhR.js +0 -34
- package/dist/sign-DzHK7UhR.js.map +0 -1
- package/dist/signatures-BKi9DP2K.d.cts.map +0 -1
- package/dist/signatures-C9QPZTQd.d.ts.map +0 -1
- package/dist/state-codes-CxG1S9YY.d.ts.map +0 -1
- package/dist/state-codes-DXSWtE6a.d.cts.map +0 -1
- package/dist/tax-types-CEpfSh5P.d.ts.map +0 -1
- package/dist/tax-types-CgwxONDS.d.cts.map +0 -1
- package/dist/transform-BLz0S687.cjs +0 -72
- package/dist/transform-BLz0S687.cjs.map +0 -1
- package/dist/transform-D1q-U6Zj.js +0 -66
- package/dist/transform-D1q-U6Zj.js.map +0 -1
- package/dist/types/documents/index.d.ts +0 -57
- package/dist/types/documents/invoice-1_1.d.ts +0 -56
- package/dist/unit-types-1bF0KhIp.d.ts +0 -56
- package/dist/unit-types-1bF0KhIp.d.ts.map +0 -1
- package/dist/unit-types-CsrkvgfG.d.cts +0 -56
- package/dist/unit-types-CsrkvgfG.d.cts.map +0 -1
- package/dist/utils/MyInvoisClient.d.ts +0 -60
- package/dist/utils/MyInvoisClient.js +0 -13
- package/dist/utils/base64.d.ts.map +0 -1
- package/dist/utils/base64.js.map +0 -1
- package/dist/utils/debug/debug-document-hash.d.ts +0 -100
- package/dist/utils/debug/debug-document-hash.d.ts.map +0 -1
- package/dist/utils/debug/debug-document-hash.js +0 -120
- package/dist/utils/debug/debug-document-hash.js.map +0 -1
- package/dist/utils/debug/debug-invoice-submission.d.ts +0 -152
- package/dist/utils/debug/debug-invoice-submission.d.ts.map +0 -1
- package/dist/utils/debug/debug-invoice-submission.js +0 -226
- package/dist/utils/debug/debug-invoice-submission.js.map +0 -1
- package/dist/utils/getBaseUrl.d.ts.map +0 -1
- package/dist/utils/invoice1-1.d.ts +0 -117
- package/dist/utils/invoice1-1.d.ts.map +0 -1
- package/dist/utils/invoice1-1.js +0 -10
- package/dist/utils/signature/canonicalize.d.ts +0 -26
- package/dist/utils/signature/canonicalize.d.ts.map +0 -1
- package/dist/utils/signature/canonicalize.js +0 -3
- package/dist/utils/signature/hashCert.d.ts +0 -15
- package/dist/utils/signature/hashCert.d.ts.map +0 -1
- package/dist/utils/signature/hashCert.js +0 -3
- package/dist/utils/signature/hashSignedProperties.d.ts +0 -25
- package/dist/utils/signature/hashSignedProperties.d.ts.map +0 -1
- package/dist/utils/signature/hashSignedProperties.js +0 -3
- package/dist/utils/signature/populateFinalDocument.d.ts +0 -23
- package/dist/utils/signature/populateFinalDocument.d.ts.map +0 -1
- package/dist/utils/signature/populateFinalDocument.js +0 -3
- package/dist/utils/signature/populateSignedProperties.d.ts +0 -23
- package/dist/utils/signature/populateSignedProperties.d.ts.map +0 -1
- package/dist/utils/signature/populateSignedProperties.js +0 -3
- package/dist/utils/signature/sign.d.ts +0 -16
- package/dist/utils/signature/sign.d.ts.map +0 -1
- package/dist/utils/signature/sign.js +0 -3
- package/dist/utils/signature/transform.d.ts +0 -16
- package/dist/utils/signature/transform.d.ts.map +0 -1
- package/dist/utils/signature/transform.js +0 -3
- package/src/types/documents/index.d.ts +0 -1
- package/src/types/documents/invoice-1_1.d.ts +0 -439
- package/src/utils/MyInvoisClient.ts +0 -501
- package/src/utils/debug/debug-document-hash.ts +0 -249
- package/src/utils/debug/debug-invoice-submission.ts +0 -355
- package/src/utils/invoice1-1.ts +0 -671
- package/src/utils/signature/canonicalize.ts +0 -104
- package/src/utils/signature/hashCert.ts +0 -115
- package/src/utils/signature/hashSignedProperties.ts +0 -155
- package/src/utils/signature/populateFinalDocument.ts +0 -187
- package/src/utils/signature/populateSignedProperties.ts +0 -87
- package/src/utils/signature/sign.ts +0 -51
- package/src/utils/signature/transform.ts +0 -99
- package/test/canonicalize.test.ts +0 -110
- package/test/hashCert.test.ts +0 -95
- package/test/hashSignedProperties.test.ts +0 -140
- package/test/populateFinalDocument.test.ts +0 -218
- package/test/populateSignedProperties.test.ts +0 -155
- package/test/sign.test.ts +0 -70
- package/test/transform.test.ts +0 -158
|
@@ -0,0 +1,847 @@
|
|
|
1
|
+
import { ClassificationCode } from "./classification-codes-BKxV-rO9.js";
|
|
2
|
+
import { CurrencyCode } from "./currencies-BYJK-m6v.js";
|
|
3
|
+
import { EInvoiceTypeCode } from "./e-invoice-CmbLQkHw.js";
|
|
4
|
+
import { IssuerDigitalSignature } from "./signatures-CG175mpg.js";
|
|
5
|
+
import { TaxTypeCode } from "./tax-types-tosH5I0q.js";
|
|
6
|
+
|
|
7
|
+
//#region src/types/documents.d.ts
|
|
8
|
+
|
|
9
|
+
type RegistrationType = 'BRN' | 'NRIC' | 'PASSPORT';
|
|
10
|
+
|
|
11
|
+
// Based on https://sdk.myinvois.hasil.gov.my/documents/invoice-v1-1/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Represents a physical address.
|
|
15
|
+
* Based on the Address section of the documentation.
|
|
16
|
+
*/
|
|
17
|
+
interface Address {
|
|
18
|
+
/** Main address line. Max 150 chars.
|
|
19
|
+
* @example Lot 66
|
|
20
|
+
*/
|
|
21
|
+
addressLine0: string;
|
|
22
|
+
/** City name. Max 50 chars. */
|
|
23
|
+
cityName: string;
|
|
24
|
+
/** State code. Refer to /codes/state-codes/. Max 50 chars. */
|
|
25
|
+
state: string;
|
|
26
|
+
/** Country code (ISO 3166-1). Refer to /codes/countries/. Max 3 chars. */
|
|
27
|
+
country: string; // MYS
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Represents the supplier information.
|
|
32
|
+
* Based on the Supplier section of the documentation.
|
|
33
|
+
*/
|
|
34
|
+
interface Supplier {
|
|
35
|
+
/** Supplier's name. Max 300 chars.
|
|
36
|
+
* @example Test Supplier Sdn Bhd
|
|
37
|
+
*/
|
|
38
|
+
name: string;
|
|
39
|
+
/** Supplier's Tax Identification Number (TIN). Max 14 chars.
|
|
40
|
+
* @example 1234567890
|
|
41
|
+
*/
|
|
42
|
+
tin: string;
|
|
43
|
+
/**
|
|
44
|
+
* Supplier's Registration Type. NRIC, BRN, PASSPORT
|
|
45
|
+
* @example NRIC
|
|
46
|
+
*/
|
|
47
|
+
registrationType: RegistrationType;
|
|
48
|
+
/**
|
|
49
|
+
* Supplier's Registration / Identification Number / Passport Number.
|
|
50
|
+
* Format depends on schemeID: NRIC (12), BRN (20), PASSPORT (12), ARMY (12).
|
|
51
|
+
* @example BRN: 202001234567
|
|
52
|
+
*/
|
|
53
|
+
registrationNumber: string;
|
|
54
|
+
/** Supplier's address. */
|
|
55
|
+
address: Address;
|
|
56
|
+
/** Supplier's contact number (E.164 standard). Max 20 chars.
|
|
57
|
+
* @example +60123456789
|
|
58
|
+
*/
|
|
59
|
+
contactNumber: string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Represents the buyer information.
|
|
64
|
+
* Based on the Buyer section of the documentation.
|
|
65
|
+
*/
|
|
66
|
+
interface Buyer {
|
|
67
|
+
/** Buyer's name. Max 300 chars.
|
|
68
|
+
* @example Hebat Group
|
|
69
|
+
*/
|
|
70
|
+
name: string;
|
|
71
|
+
/** Buyer's Tax Identification Number (TIN). Max 14 chars.
|
|
72
|
+
* @example C12345678901
|
|
73
|
+
*/
|
|
74
|
+
tin: string;
|
|
75
|
+
/**
|
|
76
|
+
* Buyer's Registration Type. NRIC, BRN, PASSPORT, ARMY
|
|
77
|
+
* @example BRN
|
|
78
|
+
*/
|
|
79
|
+
registrationType: RegistrationType;
|
|
80
|
+
/**
|
|
81
|
+
* Buyer's Registration / Identification Number / Passport Number.
|
|
82
|
+
* Format depends on schemeID: NRIC (12), BRN (20), PASSPORT (12), ARMY (12).
|
|
83
|
+
* @example BRN: 202001234567
|
|
84
|
+
*/
|
|
85
|
+
registrationNumber: string;
|
|
86
|
+
/**
|
|
87
|
+
* Buyer's SST registration number. Max 35 chars.
|
|
88
|
+
* Mandatory for SST-registrants.
|
|
89
|
+
* Allows up to two numbers separated by ';'.
|
|
90
|
+
* @example W10-1909-32000060
|
|
91
|
+
*/
|
|
92
|
+
sstRegistrationNumber: string;
|
|
93
|
+
/** Buyer's address. */
|
|
94
|
+
address: Address;
|
|
95
|
+
/** Buyer's contact number (E.164 standard). Max 20 chars.
|
|
96
|
+
* @example +60123456789
|
|
97
|
+
*/
|
|
98
|
+
contactNumber: string;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Represents a single line item in an invoice.
|
|
103
|
+
* Based on the Invoice Line Item section of the documentation.
|
|
104
|
+
* https://sdk.myinvois.hasil.gov.my/documents/invoice-v1-1/#invoice-line-item
|
|
105
|
+
*/
|
|
106
|
+
interface InvoiceLineItem {
|
|
107
|
+
/**
|
|
108
|
+
* Item classification code. Refer to /codes/item-classifications/. Max 50 chars.
|
|
109
|
+
* @example 001
|
|
110
|
+
*/
|
|
111
|
+
itemClassificationCode: ClassificationCode;
|
|
112
|
+
/**
|
|
113
|
+
* Item description. Max 300 chars.
|
|
114
|
+
* @example Laptop
|
|
115
|
+
*/
|
|
116
|
+
itemDescription: string;
|
|
117
|
+
/**
|
|
118
|
+
* Unit price before tax. Max 18 digits, 6 decimal places.
|
|
119
|
+
* @example 1500.00
|
|
120
|
+
*/
|
|
121
|
+
unitPrice: number;
|
|
122
|
+
/**
|
|
123
|
+
* Tax type code. Refer to /codes/tax-types/. Max 2 chars.
|
|
124
|
+
* @example 01
|
|
125
|
+
*/
|
|
126
|
+
taxType: TaxTypeCode;
|
|
127
|
+
/**
|
|
128
|
+
* Tax rate. Max 18 digits, 2 decimal places.
|
|
129
|
+
* @example 6.00
|
|
130
|
+
*/
|
|
131
|
+
taxRate: number;
|
|
132
|
+
/**
|
|
133
|
+
* Tax amount. Max 18 digits, 2 decimal places.
|
|
134
|
+
* @example 90.00
|
|
135
|
+
*/
|
|
136
|
+
taxAmount: number;
|
|
137
|
+
/**
|
|
138
|
+
* Tax exemption reason code. Refer to /codes/tax-exemption-reasons/. Max 2 chars.
|
|
139
|
+
* Mandatory if tax rate is 0%.
|
|
140
|
+
* @example 02
|
|
141
|
+
*/
|
|
142
|
+
taxExemptionReasonCode?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Tax exemption reason amount. Max 18 digits, 2 decimal places.
|
|
145
|
+
* Mandatory if tax rate is 0%.
|
|
146
|
+
* @example 1500.00
|
|
147
|
+
*/
|
|
148
|
+
taxExemptionReasonAmount?: number;
|
|
149
|
+
/**
|
|
150
|
+
* Total taxable amount per line (Quantity * Unit Price - Discount Amount). Max 18 digits, 2 decimal places.
|
|
151
|
+
* @example 1500.00
|
|
152
|
+
*/
|
|
153
|
+
totalTaxableAmountPerLine: number;
|
|
154
|
+
/**
|
|
155
|
+
* Total amount per line including tax (Total Taxable Amount Per Line + Tax Amount). Max 18 digits, 2 decimal places.
|
|
156
|
+
* @example 1590.00
|
|
157
|
+
*/
|
|
158
|
+
totalAmountPerLine: number;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/** Represents monetary totals for the invoice. Based on UBL cac:LegalMonetaryTotal. */
|
|
162
|
+
interface LegalMonetaryTotal {
|
|
163
|
+
/** Total amount exclusive of taxes. Max 18 digits, 2 decimal places. */
|
|
164
|
+
taxExclusiveAmount: number;
|
|
165
|
+
/** Total amount inclusive of taxes. Max 18 digits, 2 decimal places. */
|
|
166
|
+
taxInclusiveAmount: number;
|
|
167
|
+
/** The final payable amount. Max 18 digits, 2 decimal places. */
|
|
168
|
+
payableAmount: number;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/** Represents tax category information. Based on UBL cac:TaxCategory. */
|
|
172
|
+
interface TaxCategory {
|
|
173
|
+
/** Tax type code. Refer to /codes/tax-types/. Max 2 chars. */
|
|
174
|
+
taxTypeCode: TaxTypeCode;
|
|
175
|
+
/** Tax rate percentage. Max 18 digits, 2 decimal places. */
|
|
176
|
+
taxRate: number;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/** Represents a subtotal for a specific tax category. Based on UBL cac:TaxSubtotal. */
|
|
180
|
+
interface TaxSubtotal {
|
|
181
|
+
/** Taxable amount for this category. Max 18 digits, 2 decimal places. */
|
|
182
|
+
taxableAmount: number;
|
|
183
|
+
/** Tax amount for this category. Max 18 digits, 2 decimal places. */
|
|
184
|
+
taxAmount: number;
|
|
185
|
+
/** Tax category details. */
|
|
186
|
+
taxCategory: TaxCategory;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/** Represents the total tax amount for the invoice. Based on UBL cac:TaxTotal. */
|
|
190
|
+
interface TaxTotal {
|
|
191
|
+
/** Total tax amount for the entire invoice. Max 18 digits, 2 decimal places. */
|
|
192
|
+
taxAmount: number;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Represents the core Invoice v1.1 document structure.
|
|
197
|
+
* Based on the Core section of the documentation.
|
|
198
|
+
*/
|
|
199
|
+
interface InvoiceV1_1 {
|
|
200
|
+
/** Supplier information. */
|
|
201
|
+
supplier: Supplier;
|
|
202
|
+
/** Buyer information. */
|
|
203
|
+
buyer: Buyer;
|
|
204
|
+
/** e-Invoice version. Fixed value '1.1'. */
|
|
205
|
+
eInvoiceVersion: '1.1';
|
|
206
|
+
/** e-Invoice type code. Refer to /codes/e-invoice-types/. Max 2 chars. */
|
|
207
|
+
eInvoiceTypeCode: EInvoiceTypeCode; // e.g., '01'
|
|
208
|
+
/** Document reference number used by Supplier. Max 50 chars. */
|
|
209
|
+
eInvoiceCodeOrNumber: string; // e.g., 'INV12345'
|
|
210
|
+
/** Date of issuance (YYYY-MM-DD) in UTC. Max 10 chars. */
|
|
211
|
+
eInvoiceDate: string; // e.g., '2017-11-26'
|
|
212
|
+
/** Time of issuance (HH:mm:ssZ) in UTC. Max 9 chars. */
|
|
213
|
+
eInvoiceTime: string; // e.g., '15:30:00Z'
|
|
214
|
+
/** Issuer's digital signature. Refer to /signature/ documentation. */
|
|
215
|
+
issuerDigitalSignature: IssuerDigitalSignature;
|
|
216
|
+
/** Invoice currency code. Refer to /codes/currencies/. Max 3 chars. */
|
|
217
|
+
invoiceCurrencyCode: CurrencyCode; // e.g., 'MYR'
|
|
218
|
+
/** Invoice line items. */
|
|
219
|
+
invoiceLineItems: InvoiceLineItem[];
|
|
220
|
+
/**
|
|
221
|
+
* Currency exchange rate to MYR. Max 15 decimal places.
|
|
222
|
+
* Mandatory if InvoiceCurrencyCode is not MYR.
|
|
223
|
+
*/
|
|
224
|
+
currencyExchangeRate?: number; // e.g., 1.0 or 4.75
|
|
225
|
+
|
|
226
|
+
/** Overall monetary totals for the invoice. */
|
|
227
|
+
legalMonetaryTotal: LegalMonetaryTotal;
|
|
228
|
+
/** Total tax amounts and subtotals. */
|
|
229
|
+
taxTotal: TaxTotal;
|
|
230
|
+
}
|
|
231
|
+
type SubmissionStatus = 'InProgress' | 'Valid' | 'PartiallyValid' | 'Invalid';
|
|
232
|
+
type DocumentStatus = 'Valid' | 'Invalid' | 'Cancelled' | 'Submitted';
|
|
233
|
+
type StandardError = {
|
|
234
|
+
code: string;
|
|
235
|
+
message: string;
|
|
236
|
+
target: string;
|
|
237
|
+
details: {
|
|
238
|
+
code: string;
|
|
239
|
+
message: string;
|
|
240
|
+
target: string;
|
|
241
|
+
}[];
|
|
242
|
+
};
|
|
243
|
+
type DocumentValidationResult = 'Valid' | 'Invalid' | 'Pending';
|
|
244
|
+
interface DocumentValidationStepResult {
|
|
245
|
+
name: string;
|
|
246
|
+
status: DocumentValidationResult;
|
|
247
|
+
error?: StandardError;
|
|
248
|
+
}
|
|
249
|
+
interface DocumentSummary {
|
|
250
|
+
uuid: string;
|
|
251
|
+
submissionUid: string;
|
|
252
|
+
longId: string;
|
|
253
|
+
internalId: string;
|
|
254
|
+
typeName: string;
|
|
255
|
+
typeVersionName: string;
|
|
256
|
+
issuerTin: string;
|
|
257
|
+
issuerName: string;
|
|
258
|
+
receiverId: string;
|
|
259
|
+
receiverName: string;
|
|
260
|
+
dateTimeIssued: string;
|
|
261
|
+
dateTimeReceived: string;
|
|
262
|
+
dateTimeValidated: string;
|
|
263
|
+
totalPayableAmount: number;
|
|
264
|
+
totalExcludingTax: number;
|
|
265
|
+
totalDiscount: number;
|
|
266
|
+
totalNetAmount: number;
|
|
267
|
+
status: DocumentStatus;
|
|
268
|
+
cancelDateTime: string | null;
|
|
269
|
+
rejectRequestDateTime: string | null;
|
|
270
|
+
documentStatusReason: string | null;
|
|
271
|
+
createdByUserId: string;
|
|
272
|
+
}
|
|
273
|
+
interface GetSubmissionResponse {
|
|
274
|
+
submissionUid?: string;
|
|
275
|
+
documentCount?: number;
|
|
276
|
+
dateTimeReceived?: string;
|
|
277
|
+
overallStatus?: SubmissionStatus;
|
|
278
|
+
documentSummary?: DocumentSummary[];
|
|
279
|
+
error?: StandardError;
|
|
280
|
+
}
|
|
281
|
+
interface ResponseDocument {
|
|
282
|
+
invoiceCodeNumber: string;
|
|
283
|
+
error?: StandardError;
|
|
284
|
+
}
|
|
285
|
+
interface SubmissionResponse {
|
|
286
|
+
submissionUid: string;
|
|
287
|
+
acceptedDocuments: ResponseDocument[];
|
|
288
|
+
rejectedDocuments: ResponseDocument[];
|
|
289
|
+
}
|
|
290
|
+
interface SigningCredentials {
|
|
291
|
+
/** Private key in PEM format for signing */
|
|
292
|
+
privateKeyPem: string;
|
|
293
|
+
/** Certificate in PEM format */
|
|
294
|
+
certificatePem: string;
|
|
295
|
+
/** Certificate issuer name (e.g., "CN=Trial LHDNM Sub CA V1, OU=Terms of use at https://www.posdigicert.com.my, O=LHDNM, C=MY") */
|
|
296
|
+
issuerName: string;
|
|
297
|
+
/** Certificate serial number as string */
|
|
298
|
+
serialNumber: string;
|
|
299
|
+
}
|
|
300
|
+
interface FinalDocumentData {
|
|
301
|
+
signatureValue: string; // Base64 encoded RSA signature (Sig from Step 4)
|
|
302
|
+
propsDigest: string; // Base64 encoded hash of SignedProperties (PropsDigest from Step 7)
|
|
303
|
+
docDigest: string; // Base64 encoded hash of Canonicalized Document (DocDigest from Step 3)
|
|
304
|
+
certificatePem: string; // Signing certificate in PEM format
|
|
305
|
+
}
|
|
306
|
+
interface SignedPropertiesData {
|
|
307
|
+
certDigest: string; // Base64 encoded SHA-256 hash of certificate (Step 5)
|
|
308
|
+
signingTime: string; // ISO 8601 UTC timestamp string (e.g., 2023-10-26T10:30:00Z)
|
|
309
|
+
issuerName: string; // Certificate Issuer Name
|
|
310
|
+
serialNumber: string; // Certificate Serial Number
|
|
311
|
+
}
|
|
312
|
+
interface InvoiceSubmission {
|
|
313
|
+
/** Invoice ID */
|
|
314
|
+
ID: {
|
|
315
|
+
_: string;
|
|
316
|
+
}[];
|
|
317
|
+
|
|
318
|
+
/** Issue date in YYYY-MM-DD format */
|
|
319
|
+
IssueDate: {
|
|
320
|
+
_: string;
|
|
321
|
+
}[];
|
|
322
|
+
|
|
323
|
+
/** Issue time in HH:mm:ssZ format */
|
|
324
|
+
IssueTime: {
|
|
325
|
+
_: string;
|
|
326
|
+
}[];
|
|
327
|
+
|
|
328
|
+
/** Invoice type code with version */
|
|
329
|
+
InvoiceTypeCode: {
|
|
330
|
+
_: string;
|
|
331
|
+
listVersionID: string;
|
|
332
|
+
}[];
|
|
333
|
+
|
|
334
|
+
/** Document currency code */
|
|
335
|
+
DocumentCurrencyCode: {
|
|
336
|
+
_: string;
|
|
337
|
+
}[];
|
|
338
|
+
|
|
339
|
+
/** Supplier party information */
|
|
340
|
+
AccountingSupplierParty: {
|
|
341
|
+
Party: {
|
|
342
|
+
IndustryClassificationCode: {
|
|
343
|
+
_: string;
|
|
344
|
+
name: string;
|
|
345
|
+
}[];
|
|
346
|
+
PartyIdentification: {
|
|
347
|
+
ID: {
|
|
348
|
+
_: string;
|
|
349
|
+
schemeID: string;
|
|
350
|
+
}[];
|
|
351
|
+
}[];
|
|
352
|
+
PostalAddress: {
|
|
353
|
+
CityName: {
|
|
354
|
+
_: string;
|
|
355
|
+
}[];
|
|
356
|
+
CountrySubentityCode: {
|
|
357
|
+
_: string;
|
|
358
|
+
}[];
|
|
359
|
+
AddressLine: {
|
|
360
|
+
Line: {
|
|
361
|
+
_: string;
|
|
362
|
+
}[];
|
|
363
|
+
}[];
|
|
364
|
+
Country: {
|
|
365
|
+
IdentificationCode: {
|
|
366
|
+
_: string;
|
|
367
|
+
listID: string;
|
|
368
|
+
listAgencyID: string;
|
|
369
|
+
}[];
|
|
370
|
+
}[];
|
|
371
|
+
}[];
|
|
372
|
+
PartyLegalEntity: {
|
|
373
|
+
RegistrationName: {
|
|
374
|
+
_: string;
|
|
375
|
+
}[];
|
|
376
|
+
}[];
|
|
377
|
+
Contact: {
|
|
378
|
+
Telephone: {
|
|
379
|
+
_: string;
|
|
380
|
+
}[];
|
|
381
|
+
}[];
|
|
382
|
+
}[];
|
|
383
|
+
}[];
|
|
384
|
+
|
|
385
|
+
/** Customer party information */
|
|
386
|
+
AccountingCustomerParty: {
|
|
387
|
+
Party: {
|
|
388
|
+
PartyIdentification: {
|
|
389
|
+
ID: {
|
|
390
|
+
_: string;
|
|
391
|
+
schemeID: string;
|
|
392
|
+
}[];
|
|
393
|
+
}[];
|
|
394
|
+
PostalAddress: {
|
|
395
|
+
CityName: {
|
|
396
|
+
_: string;
|
|
397
|
+
}[];
|
|
398
|
+
CountrySubentityCode: {
|
|
399
|
+
_: string;
|
|
400
|
+
}[];
|
|
401
|
+
AddressLine: {
|
|
402
|
+
Line: {
|
|
403
|
+
_: string;
|
|
404
|
+
}[];
|
|
405
|
+
}[];
|
|
406
|
+
Country: {
|
|
407
|
+
IdentificationCode: {
|
|
408
|
+
_: string;
|
|
409
|
+
listID: string;
|
|
410
|
+
listAgencyID: string;
|
|
411
|
+
}[];
|
|
412
|
+
}[];
|
|
413
|
+
}[];
|
|
414
|
+
PartyLegalEntity: {
|
|
415
|
+
RegistrationName: {
|
|
416
|
+
_: string;
|
|
417
|
+
}[];
|
|
418
|
+
}[];
|
|
419
|
+
Contact: {
|
|
420
|
+
Telephone: {
|
|
421
|
+
_: string;
|
|
422
|
+
}[];
|
|
423
|
+
}[];
|
|
424
|
+
}[];
|
|
425
|
+
}[];
|
|
426
|
+
|
|
427
|
+
/** Tax total */
|
|
428
|
+
TaxTotal: {
|
|
429
|
+
TaxAmount: {
|
|
430
|
+
_: number;
|
|
431
|
+
currencyID: string;
|
|
432
|
+
}[];
|
|
433
|
+
TaxSubtotal: {
|
|
434
|
+
TaxableAmount: {
|
|
435
|
+
_: number;
|
|
436
|
+
currencyID: string;
|
|
437
|
+
}[];
|
|
438
|
+
TaxAmount: {
|
|
439
|
+
_: number;
|
|
440
|
+
currencyID: string;
|
|
441
|
+
}[];
|
|
442
|
+
TaxCategory: {
|
|
443
|
+
ID: {
|
|
444
|
+
_: string;
|
|
445
|
+
}[];
|
|
446
|
+
TaxScheme: {
|
|
447
|
+
ID: {
|
|
448
|
+
_: string;
|
|
449
|
+
schemeAgencyID: string;
|
|
450
|
+
schemeID: string;
|
|
451
|
+
}[];
|
|
452
|
+
}[];
|
|
453
|
+
}[];
|
|
454
|
+
}[];
|
|
455
|
+
}[];
|
|
456
|
+
|
|
457
|
+
/** Legal monetary total */
|
|
458
|
+
LegalMonetaryTotal: {
|
|
459
|
+
LineExtensionAmount: {
|
|
460
|
+
_: number;
|
|
461
|
+
currencyID: string;
|
|
462
|
+
}[];
|
|
463
|
+
TaxExclusiveAmount: {
|
|
464
|
+
_: number;
|
|
465
|
+
currencyID: string;
|
|
466
|
+
}[];
|
|
467
|
+
TaxInclusiveAmount: {
|
|
468
|
+
_: number;
|
|
469
|
+
currencyID: string;
|
|
470
|
+
}[];
|
|
471
|
+
PayableAmount: {
|
|
472
|
+
_: number;
|
|
473
|
+
currencyID: string;
|
|
474
|
+
}[];
|
|
475
|
+
}[];
|
|
476
|
+
|
|
477
|
+
/** Invoice line items */
|
|
478
|
+
InvoiceLine: {
|
|
479
|
+
ID: {
|
|
480
|
+
_: string;
|
|
481
|
+
}[];
|
|
482
|
+
Item: {
|
|
483
|
+
CommodityClassification: {
|
|
484
|
+
ItemClassificationCode: {
|
|
485
|
+
_: string;
|
|
486
|
+
listID: string;
|
|
487
|
+
}[];
|
|
488
|
+
}[];
|
|
489
|
+
Description: {
|
|
490
|
+
_: string;
|
|
491
|
+
}[];
|
|
492
|
+
}[];
|
|
493
|
+
ItemPriceExtension: {
|
|
494
|
+
Amount: {
|
|
495
|
+
_: number;
|
|
496
|
+
currencyID: string;
|
|
497
|
+
}[];
|
|
498
|
+
}[];
|
|
499
|
+
LineExtensionAmount: {
|
|
500
|
+
_: number;
|
|
501
|
+
currencyID: string;
|
|
502
|
+
}[];
|
|
503
|
+
Price: {
|
|
504
|
+
PriceAmount: {
|
|
505
|
+
_: number;
|
|
506
|
+
currencyID: string;
|
|
507
|
+
}[];
|
|
508
|
+
}[];
|
|
509
|
+
TaxTotal: {
|
|
510
|
+
TaxAmount: {
|
|
511
|
+
_: number;
|
|
512
|
+
currencyID: string;
|
|
513
|
+
}[];
|
|
514
|
+
TaxSubtotal: {
|
|
515
|
+
TaxableAmount: {
|
|
516
|
+
_: number;
|
|
517
|
+
currencyID: string;
|
|
518
|
+
}[];
|
|
519
|
+
TaxAmount: {
|
|
520
|
+
_: number;
|
|
521
|
+
currencyID: string;
|
|
522
|
+
}[];
|
|
523
|
+
TaxCategory: {
|
|
524
|
+
ID: {
|
|
525
|
+
_: string;
|
|
526
|
+
}[];
|
|
527
|
+
TaxScheme: {
|
|
528
|
+
ID: {
|
|
529
|
+
_: string;
|
|
530
|
+
schemeAgencyID: string;
|
|
531
|
+
schemeID: string;
|
|
532
|
+
}[];
|
|
533
|
+
}[];
|
|
534
|
+
}[];
|
|
535
|
+
}[];
|
|
536
|
+
}[];
|
|
537
|
+
}[];
|
|
538
|
+
|
|
539
|
+
/** Tax exchange rate - Mandatory where applicable */
|
|
540
|
+
TaxExchangeRate?: {
|
|
541
|
+
SourceCurrencyCode: {
|
|
542
|
+
_: string;
|
|
543
|
+
}[];
|
|
544
|
+
TargetCurrencyCode: {
|
|
545
|
+
_: string;
|
|
546
|
+
}[];
|
|
547
|
+
CalculationRate: {
|
|
548
|
+
_: number;
|
|
549
|
+
}[];
|
|
550
|
+
}[];
|
|
551
|
+
|
|
552
|
+
/** UBL Extensions for signatures (optional - only present in signed documents) */
|
|
553
|
+
UBLExtensions?: {
|
|
554
|
+
UBLExtension: {
|
|
555
|
+
ExtensionURI: {
|
|
556
|
+
_: string;
|
|
557
|
+
}[];
|
|
558
|
+
ExtensionContent: {
|
|
559
|
+
UBLDocumentSignatures: {
|
|
560
|
+
SignatureInformation: {
|
|
561
|
+
ID: {
|
|
562
|
+
_: string;
|
|
563
|
+
}[];
|
|
564
|
+
ReferencedSignatureID: {
|
|
565
|
+
_: string;
|
|
566
|
+
}[];
|
|
567
|
+
Signature: {
|
|
568
|
+
Id: string;
|
|
569
|
+
Object: {
|
|
570
|
+
QualifyingProperties: {
|
|
571
|
+
Target: string;
|
|
572
|
+
SignedProperties: {
|
|
573
|
+
Id: string;
|
|
574
|
+
SignedSignatureProperties: {
|
|
575
|
+
SigningTime: {
|
|
576
|
+
_: string;
|
|
577
|
+
}[];
|
|
578
|
+
SigningCertificate: {
|
|
579
|
+
Cert: {
|
|
580
|
+
CertDigest: {
|
|
581
|
+
DigestMethod: {
|
|
582
|
+
Algorithm: string;
|
|
583
|
+
}[];
|
|
584
|
+
DigestValue: {
|
|
585
|
+
_: string;
|
|
586
|
+
}[];
|
|
587
|
+
}[];
|
|
588
|
+
IssuerSerial: {
|
|
589
|
+
X509IssuerName: {
|
|
590
|
+
_: string;
|
|
591
|
+
}[];
|
|
592
|
+
X509SerialNumber: {
|
|
593
|
+
_: string;
|
|
594
|
+
}[];
|
|
595
|
+
}[];
|
|
596
|
+
}[];
|
|
597
|
+
}[];
|
|
598
|
+
}[];
|
|
599
|
+
}[];
|
|
600
|
+
}[];
|
|
601
|
+
}[];
|
|
602
|
+
KeyInfo: {
|
|
603
|
+
X509Data: {
|
|
604
|
+
X509Certificate: {
|
|
605
|
+
_: string;
|
|
606
|
+
}[];
|
|
607
|
+
X509SubjectName: {
|
|
608
|
+
_: string;
|
|
609
|
+
}[];
|
|
610
|
+
X509IssuerSerial: {
|
|
611
|
+
X509IssuerName: {
|
|
612
|
+
_: string;
|
|
613
|
+
}[];
|
|
614
|
+
X509SerialNumber: {
|
|
615
|
+
_: string;
|
|
616
|
+
}[];
|
|
617
|
+
}[];
|
|
618
|
+
}[];
|
|
619
|
+
}[];
|
|
620
|
+
SignatureValue: {
|
|
621
|
+
_: string;
|
|
622
|
+
}[];
|
|
623
|
+
SignedInfo: {
|
|
624
|
+
CanonicalizationMethod: {
|
|
625
|
+
_: string;
|
|
626
|
+
Algorithm: string;
|
|
627
|
+
}[];
|
|
628
|
+
SignatureMethod: {
|
|
629
|
+
_: string;
|
|
630
|
+
Algorithm: string;
|
|
631
|
+
}[];
|
|
632
|
+
Reference: {
|
|
633
|
+
Id: string;
|
|
634
|
+
Type: string;
|
|
635
|
+
URI: string;
|
|
636
|
+
DigestMethod: {
|
|
637
|
+
_: string;
|
|
638
|
+
Algorithm: string;
|
|
639
|
+
}[];
|
|
640
|
+
DigestValue: {
|
|
641
|
+
_: string;
|
|
642
|
+
}[];
|
|
643
|
+
}[];
|
|
644
|
+
}[];
|
|
645
|
+
}[];
|
|
646
|
+
}[];
|
|
647
|
+
}[];
|
|
648
|
+
}[];
|
|
649
|
+
}[];
|
|
650
|
+
}[];
|
|
651
|
+
|
|
652
|
+
/** Signature reference (optional - only present in signed documents) */
|
|
653
|
+
Signature?: {
|
|
654
|
+
ID: {
|
|
655
|
+
_: string;
|
|
656
|
+
}[];
|
|
657
|
+
SignatureMethod: {
|
|
658
|
+
_: string;
|
|
659
|
+
}[];
|
|
660
|
+
}[];
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
/** Represents the complete UBL document structure with namespace declarations */
|
|
664
|
+
interface UBLDocument {
|
|
665
|
+
/** UBL Invoice namespace */
|
|
666
|
+
_D: string;
|
|
667
|
+
/** UBL CommonAggregateComponents namespace */
|
|
668
|
+
_A: string;
|
|
669
|
+
/** UBL CommonBasicComponents namespace */
|
|
670
|
+
_B: string;
|
|
671
|
+
/** Array of invoice submissions */
|
|
672
|
+
Invoice: InvoiceSubmission[];
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
/** Represents the signed properties structure for digital signatures */
|
|
676
|
+
interface SignedPropertiesObject {
|
|
677
|
+
SignedProperties: {
|
|
678
|
+
/** Unique identifier for the signed properties */
|
|
679
|
+
Id: string;
|
|
680
|
+
/** Signed signature properties containing signing details */
|
|
681
|
+
SignedSignatureProperties: {
|
|
682
|
+
/** Signing timestamp */
|
|
683
|
+
SigningTime: {
|
|
684
|
+
_: string;
|
|
685
|
+
}[];
|
|
686
|
+
/** Signing certificate information */
|
|
687
|
+
SigningCertificate: {
|
|
688
|
+
/** Certificate details */
|
|
689
|
+
Cert: {
|
|
690
|
+
/** Certificate digest information */
|
|
691
|
+
CertDigest: {
|
|
692
|
+
/** Digest method algorithm */
|
|
693
|
+
DigestMethod: {
|
|
694
|
+
Algorithm: string;
|
|
695
|
+
}[];
|
|
696
|
+
/** Base64 encoded digest value */
|
|
697
|
+
DigestValue: {
|
|
698
|
+
_: string;
|
|
699
|
+
}[];
|
|
700
|
+
}[];
|
|
701
|
+
/** Certificate issuer and serial information */
|
|
702
|
+
IssuerSerial: {
|
|
703
|
+
/** X.509 issuer distinguished name */
|
|
704
|
+
X509IssuerName: {
|
|
705
|
+
_: string;
|
|
706
|
+
}[];
|
|
707
|
+
/** X.509 certificate serial number */
|
|
708
|
+
X509SerialNumber: {
|
|
709
|
+
_: string;
|
|
710
|
+
}[];
|
|
711
|
+
}[];
|
|
712
|
+
}[];
|
|
713
|
+
}[];
|
|
714
|
+
}[];
|
|
715
|
+
}[];
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
/** Represents the signed info structure for digital signatures */
|
|
719
|
+
interface SignedInfoObject {
|
|
720
|
+
/** Canonicalization method */
|
|
721
|
+
CanonicalizationMethod: {
|
|
722
|
+
_: string;
|
|
723
|
+
Algorithm: string;
|
|
724
|
+
}[];
|
|
725
|
+
/** Signature method */
|
|
726
|
+
SignatureMethod: {
|
|
727
|
+
_: string;
|
|
728
|
+
Algorithm: string;
|
|
729
|
+
}[];
|
|
730
|
+
/** References being signed */
|
|
731
|
+
Reference: {
|
|
732
|
+
Id: string;
|
|
733
|
+
Type: string;
|
|
734
|
+
URI: string;
|
|
735
|
+
DigestMethod: {
|
|
736
|
+
_: string;
|
|
737
|
+
Algorithm: string;
|
|
738
|
+
}[];
|
|
739
|
+
DigestValue: {
|
|
740
|
+
_: string;
|
|
741
|
+
}[];
|
|
742
|
+
}[];
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
/** Represents a complete signed invoice with all signature elements */
|
|
746
|
+
interface SignedInvoiceSubmission extends InvoiceSubmission {
|
|
747
|
+
/** UBL Extensions for signatures - required for signed documents */
|
|
748
|
+
UBLExtensions: {
|
|
749
|
+
UBLExtension: {
|
|
750
|
+
ExtensionURI: {
|
|
751
|
+
_: string;
|
|
752
|
+
}[];
|
|
753
|
+
ExtensionContent: {
|
|
754
|
+
UBLDocumentSignatures: {
|
|
755
|
+
SignatureInformation: {
|
|
756
|
+
ID: {
|
|
757
|
+
_: string;
|
|
758
|
+
}[];
|
|
759
|
+
ReferencedSignatureID: {
|
|
760
|
+
_: string;
|
|
761
|
+
}[];
|
|
762
|
+
Signature: {
|
|
763
|
+
Id: string;
|
|
764
|
+
Object: {
|
|
765
|
+
QualifyingProperties: {
|
|
766
|
+
Target: string;
|
|
767
|
+
SignedProperties: {
|
|
768
|
+
Id: string;
|
|
769
|
+
SignedSignatureProperties: {
|
|
770
|
+
SigningTime: {
|
|
771
|
+
_: string;
|
|
772
|
+
}[];
|
|
773
|
+
SigningCertificate: {
|
|
774
|
+
Cert: {
|
|
775
|
+
CertDigest: {
|
|
776
|
+
DigestMethod: {
|
|
777
|
+
Algorithm: string;
|
|
778
|
+
}[];
|
|
779
|
+
DigestValue: {
|
|
780
|
+
_: string;
|
|
781
|
+
}[];
|
|
782
|
+
}[];
|
|
783
|
+
IssuerSerial: {
|
|
784
|
+
X509IssuerName: {
|
|
785
|
+
_: string;
|
|
786
|
+
}[];
|
|
787
|
+
X509SerialNumber: {
|
|
788
|
+
_: string;
|
|
789
|
+
}[];
|
|
790
|
+
}[];
|
|
791
|
+
}[];
|
|
792
|
+
}[];
|
|
793
|
+
}[];
|
|
794
|
+
}[];
|
|
795
|
+
}[];
|
|
796
|
+
}[];
|
|
797
|
+
KeyInfo: {
|
|
798
|
+
X509Data: {
|
|
799
|
+
X509Certificate: {
|
|
800
|
+
_: string;
|
|
801
|
+
}[];
|
|
802
|
+
X509SubjectName: {
|
|
803
|
+
_: string;
|
|
804
|
+
}[];
|
|
805
|
+
X509IssuerSerial: {
|
|
806
|
+
X509IssuerName: {
|
|
807
|
+
_: string;
|
|
808
|
+
}[];
|
|
809
|
+
X509SerialNumber: {
|
|
810
|
+
_: string;
|
|
811
|
+
}[];
|
|
812
|
+
}[];
|
|
813
|
+
}[];
|
|
814
|
+
}[];
|
|
815
|
+
SignatureValue: {
|
|
816
|
+
_: string;
|
|
817
|
+
}[];
|
|
818
|
+
SignedInfo: SignedInfoObject[];
|
|
819
|
+
}[];
|
|
820
|
+
}[];
|
|
821
|
+
}[];
|
|
822
|
+
}[];
|
|
823
|
+
}[];
|
|
824
|
+
}[];
|
|
825
|
+
|
|
826
|
+
/** Signature reference - required for signed documents */
|
|
827
|
+
Signature: {
|
|
828
|
+
ID: {
|
|
829
|
+
_: string;
|
|
830
|
+
}[];
|
|
831
|
+
SignatureMethod: {
|
|
832
|
+
_: string;
|
|
833
|
+
}[];
|
|
834
|
+
}[];
|
|
835
|
+
}
|
|
836
|
+
interface CompleteInvoice {
|
|
837
|
+
/** UBL Invoice namespace */
|
|
838
|
+
_D: string;
|
|
839
|
+
/** UBL CommonAggregateComponents namespace */
|
|
840
|
+
_A: string;
|
|
841
|
+
/** UBL CommonBasicComponents namespace */
|
|
842
|
+
_B: string;
|
|
843
|
+
/** Array of signed invoice submissions */
|
|
844
|
+
Invoice: SignedInvoiceSubmission[];
|
|
845
|
+
}
|
|
846
|
+
//#endregion
|
|
847
|
+
export { Address, Buyer, CompleteInvoice, DocumentStatus, DocumentSummary, DocumentValidationResult, DocumentValidationStepResult, FinalDocumentData, GetSubmissionResponse, InvoiceLineItem, InvoiceSubmission, InvoiceV1_1, LegalMonetaryTotal, RegistrationType, ResponseDocument, SignedInfoObject, SignedInvoiceSubmission, SignedPropertiesData, SignedPropertiesObject, SigningCredentials, StandardError, SubmissionResponse, SubmissionStatus, Supplier, TaxCategory, TaxSubtotal, TaxTotal, UBLDocument };
|