@tomei/finance 0.4.18 → 0.4.19

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 (288) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.eslintrc.js +72 -72
  3. package/.husky/commit-msg +4 -4
  4. package/.husky/pre-commit +4 -4
  5. package/.prettierrc +4 -4
  6. package/CONTRIBUTING.md +30 -30
  7. package/LICENSE +21 -21
  8. package/README.md +13 -13
  9. package/configs/config.js +336 -336
  10. package/dist/document/document.d.ts +1 -1
  11. package/dist/document/document.js +99 -5
  12. package/dist/document/document.js.map +1 -1
  13. package/dist/payment-item/payment-item.js +4 -4
  14. package/dist/tsconfig.tsbuildinfo +1 -1
  15. package/invoice-template/assets/css/style.css.map +12 -12
  16. package/invoice-template/assets/css/style.min.css +1 -1
  17. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  18. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  19. package/invoice-template/assets/img/logo_accent.svg +3 -3
  20. package/invoice-template/assets/img/logo_white.svg +4 -4
  21. package/invoice-template/assets/img/sign.svg +12 -12
  22. package/invoice-template/assets/img/tomei-logo.png +0 -0
  23. package/invoice-template/assets/img/tomei-logo.svg +9 -0
  24. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  25. package/invoice-template/assets/js/jquery.min.js +1 -1
  26. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  27. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  28. package/invoice-template/assets/sass/style.scss +12 -12
  29. package/invoice-template/index.html +4 -4
  30. package/migrations/finance-account-migration.js +97 -97
  31. package/migrations/finance-company-migration.js +29 -29
  32. package/migrations/finance-customer-migration.js +51 -51
  33. package/migrations/finance-document-item-migration.js +111 -111
  34. package/migrations/finance-document-migration.js +116 -116
  35. package/migrations/finance-payment-item-migration.js +52 -52
  36. package/migrations/finance-payment-method-migration.js +31 -31
  37. package/migrations/finance-payment-method-type-migration.js +55 -55
  38. package/migrations/finance-payment-migration.js +86 -86
  39. package/migrations/finance-post-history-migration.js +45 -45
  40. package/nest-cli.json +19 -19
  41. package/package.json +79 -79
  42. package/src/account/account.repository.ts +11 -11
  43. package/src/account/account.ts +264 -264
  44. package/src/account/interfaces/account-attr.interface.ts +31 -31
  45. package/src/account-system-entity/account-system-entity.ts +65 -65
  46. package/src/account-system-entity/post-history.repository.ts +11 -11
  47. package/src/config.ts +382 -382
  48. package/src/customer/customer.ts +276 -276
  49. package/src/customer/finance-customer.repository.ts +13 -13
  50. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  51. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  52. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  53. package/src/database.ts +15 -15
  54. package/src/document/document-item.repository.ts +11 -11
  55. package/src/document/document.repository.ts +11 -11
  56. package/src/document/document.ts +122 -5
  57. package/src/document/interfaces/document-attr.interface.ts +28 -28
  58. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  59. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  60. package/src/enum/doc-type.enum.ts +8 -8
  61. package/src/enum/index.ts +17 -17
  62. package/src/enum/payment-method.enum.ts +3 -3
  63. package/src/enum/payment-type.enum.ts +4 -4
  64. package/src/finance-company/finance-company.repository.ts +11 -11
  65. package/src/finance-company/finance-company.ts +1626 -1626
  66. package/src/helpers/typeof.ts +29 -29
  67. package/src/index.ts +30 -30
  68. package/src/interfaces/account-system.interface.ts +20 -20
  69. package/src/interfaces/index.ts +3 -3
  70. package/src/models/account.entity.ts +206 -206
  71. package/src/models/customer.entity.ts +93 -93
  72. package/src/models/document-item.entity.ts +143 -143
  73. package/src/models/document.entity.ts +203 -203
  74. package/src/models/finance-company.entity.ts +25 -25
  75. package/src/models/journal-entry.entity.ts +110 -110
  76. package/src/models/ledger-transaction.entity.ts +148 -148
  77. package/src/models/payment-item.entity.ts +60 -60
  78. package/src/models/payment-method-type.entity.ts +70 -70
  79. package/src/models/payment-method.entity.ts +51 -51
  80. package/src/models/payment.entity.ts +147 -147
  81. package/src/models/post-history.entity.ts +41 -41
  82. package/src/payment/interfaces/payment-attr.interface.ts +22 -22
  83. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  84. package/src/payment/payment.repository.ts +11 -11
  85. package/src/payment/payment.ts +211 -211
  86. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  87. package/src/payment-item/payment-item.repository.ts +11 -11
  88. package/src/payment-item/payment-item.ts +104 -104
  89. package/src/payment-method/payment-method.repository.ts +11 -11
  90. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  91. package/tsconfig.build.json +4 -4
  92. package/tsconfig.json +22 -22
  93. package/tslint.json +18 -18
  94. package/dist/account/entities/account.entity.d.ts +0 -26
  95. package/dist/account/entities/account.entity.js +0 -199
  96. package/dist/account/entities/account.entity.js.map +0 -1
  97. package/dist/account/entities/fee-associated-object.entity.d.ts +0 -6
  98. package/dist/account/entities/fee-associated-object.entity.js +0 -52
  99. package/dist/account/entities/fee-associated-object.entity.js.map +0 -1
  100. package/dist/account/index.d.ts +0 -6
  101. package/dist/account/index.js +0 -10
  102. package/dist/account/index.js.map +0 -1
  103. package/dist/account/interfaces/account.repository.interface.d.ts +0 -3
  104. package/dist/account/interfaces/account.repository.interface.js +0 -3
  105. package/dist/account/interfaces/account.repository.interface.js.map +0 -1
  106. package/dist/account-system-entity/index.d.ts +0 -2
  107. package/dist/account-system-entity/index.js +0 -6
  108. package/dist/account-system-entity/index.js.map +0 -1
  109. package/dist/account-system-entity/post-history.entity.d.ts +0 -11
  110. package/dist/account-system-entity/post-history.entity.js +0 -65
  111. package/dist/account-system-entity/post-history.entity.js.map +0 -1
  112. package/dist/base/account-system.interface.d.ts +0 -7
  113. package/dist/base/account-system.interface.js +0 -3
  114. package/dist/base/account-system.interface.js.map +0 -1
  115. package/dist/base/address.base.abstract.d.ts +0 -4
  116. package/dist/base/address.base.abstract.js +0 -10
  117. package/dist/base/address.base.abstract.js.map +0 -1
  118. package/dist/base/base.address.d.ts +0 -8
  119. package/dist/base/base.address.js +0 -15
  120. package/dist/base/base.address.js.map +0 -1
  121. package/dist/base/base.object.d.ts +0 -7
  122. package/dist/base/base.object.js +0 -14
  123. package/dist/base/base.object.js.map +0 -1
  124. package/dist/base/base.owner.d.ts +0 -23
  125. package/dist/base/base.owner.js +0 -34
  126. package/dist/base/base.owner.js.map +0 -1
  127. package/dist/base/base.repository.abstract.d.ts +0 -12
  128. package/dist/base/base.repository.abstract.js +0 -22
  129. package/dist/base/base.repository.abstract.js.map +0 -1
  130. package/dist/base/base.repository.interface.d.ts +0 -9
  131. package/dist/base/base.repository.interface.js +0 -3
  132. package/dist/base/base.repository.interface.js.map +0 -1
  133. package/dist/base/index.d.ts +0 -4
  134. package/dist/base/index.js +0 -10
  135. package/dist/base/index.js.map +0 -1
  136. package/dist/base/object/base.object.abstract.d.ts +0 -5
  137. package/dist/base/object/base.object.abstract.js +0 -7
  138. package/dist/base/object/base.object.abstract.js.map +0 -1
  139. package/dist/base/object/base.object.d.ts +0 -7
  140. package/dist/base/object/base.object.js +0 -14
  141. package/dist/base/object/base.object.js.map +0 -1
  142. package/dist/base/object/object.interface.d.ts +0 -4
  143. package/dist/base/object/object.interface.js +0 -3
  144. package/dist/base/object/object.interface.js.map +0 -1
  145. package/dist/base/object.base.abstract.d.ts +0 -5
  146. package/dist/base/object.base.abstract.js +0 -11
  147. package/dist/base/object.base.abstract.js.map +0 -1
  148. package/dist/base/owner/base.owner.abstract.d.ts +0 -20
  149. package/dist/base/owner/base.owner.abstract.js +0 -8
  150. package/dist/base/owner/base.owner.abstract.js.map +0 -1
  151. package/dist/base/owner/base.owner.d.ts +0 -22
  152. package/dist/base/owner/base.owner.js +0 -31
  153. package/dist/base/owner/base.owner.js.map +0 -1
  154. package/dist/base/owner/owner.interface.d.ts +0 -19
  155. package/dist/base/owner/owner.interface.js +0 -3
  156. package/dist/base/owner/owner.interface.js.map +0 -1
  157. package/dist/base/person.base.abstract.d.ts +0 -21
  158. package/dist/base/person.base.abstract.js +0 -17
  159. package/dist/base/person.base.abstract.js.map +0 -1
  160. package/dist/base/repository/base.repository.abstract.d.ts +0 -12
  161. package/dist/base/repository/base.repository.abstract.js +0 -22
  162. package/dist/base/repository/base.repository.abstract.js.map +0 -1
  163. package/dist/base/repository/base.repository.interface.d.ts +0 -9
  164. package/dist/base/repository/base.repository.interface.js +0 -3
  165. package/dist/base/repository/base.repository.interface.js.map +0 -1
  166. package/dist/customer/customer.repository.d.ts +0 -0
  167. package/dist/customer/customer.repository.js +0 -1
  168. package/dist/customer/customer.repository.js.map +0 -1
  169. package/dist/customer/entities/customer.entity.d.ts +0 -13
  170. package/dist/customer/entities/customer.entity.js +0 -111
  171. package/dist/customer/entities/customer.entity.js.map +0 -1
  172. package/dist/customer/index.d.ts +0 -7
  173. package/dist/customer/index.js +0 -10
  174. package/dist/customer/index.js.map +0 -1
  175. package/dist/document/entities/document-item.entity.d.ts +0 -27
  176. package/dist/document/entities/document-item.entity.js +0 -174
  177. package/dist/document/entities/document-item.entity.js.map +0 -1
  178. package/dist/document/entities/document.entity.d.ts +0 -22
  179. package/dist/document/entities/document.entity.js +0 -139
  180. package/dist/document/entities/document.entity.js.map +0 -1
  181. package/dist/document/index.d.ts +0 -11
  182. package/dist/document/index.js +0 -20
  183. package/dist/document/index.js.map +0 -1
  184. package/dist/document/interfaces/document.repository.interface.d.ts +0 -3
  185. package/dist/document/interfaces/document.repository.interface.js +0 -3
  186. package/dist/document/interfaces/document.repository.interface.js.map +0 -1
  187. package/dist/enum/document-type.enum.d.ts +0 -7
  188. package/dist/enum/document-type.enum.js +0 -12
  189. package/dist/enum/document-type.enum.js.map +0 -1
  190. package/dist/enum/intuit-client.enum.d.ts +0 -13
  191. package/dist/enum/intuit-client.enum.js +0 -19
  192. package/dist/enum/intuit-client.enum.js.map +0 -1
  193. package/dist/finance-company/entities/finance-company.entity.d.ts +0 -13
  194. package/dist/finance-company/entities/finance-company.entity.js +0 -113
  195. package/dist/finance-company/entities/finance-company.entity.js.map +0 -1
  196. package/dist/finance-company/finance-company.entity.d.ts +0 -13
  197. package/dist/finance-company/finance-company.entity.js +0 -66
  198. package/dist/finance-company/finance-company.entity.js.map +0 -1
  199. package/dist/finance-company/index.d.ts +0 -3
  200. package/dist/finance-company/index.js +0 -8
  201. package/dist/finance-company/index.js.map +0 -1
  202. package/dist/finance-company/interfaces/finance-company-attr.interface.d.ts +0 -10
  203. package/dist/finance-company/interfaces/finance-company-attr.interface.js +0 -3
  204. package/dist/finance-company/interfaces/finance-company-attr.interface.js.map +0 -1
  205. package/dist/finance-company/interfaces/finance-company.repository.interface.d.ts +0 -3
  206. package/dist/finance-company/interfaces/finance-company.repository.interface.js +0 -3
  207. package/dist/finance-company/interfaces/finance-company.repository.interface.js.map +0 -1
  208. package/dist/interfaces/account-system-entity.interface.d.ts +0 -7
  209. package/dist/interfaces/account-system-entity.interface.js +0 -3
  210. package/dist/interfaces/account-system-entity.interface.js.map +0 -1
  211. package/dist/interfaces/customer.repository.interface.d.ts +0 -3
  212. package/dist/interfaces/customer.repository.interface.js +0 -3
  213. package/dist/interfaces/customer.repository.interface.js.map +0 -1
  214. package/dist/interfaces/finance-customer.repository.interface.d.ts +0 -3
  215. package/dist/interfaces/finance-customer.repository.interface.js +0 -3
  216. package/dist/interfaces/finance-customer.repository.interface.js.map +0 -1
  217. package/dist/interfaces/systemConfig.interface.d.ts +0 -0
  218. package/dist/interfaces/systemConfig.interface.js +0 -1
  219. package/dist/interfaces/systemConfig.interface.js.map +0 -1
  220. package/dist/intuit-client/client.d.ts +0 -14
  221. package/dist/intuit-client/client.js +0 -44
  222. package/dist/intuit-client/client.js.map +0 -1
  223. package/dist/journal-entry/entities/journal-entry.entity.d.ts +0 -16
  224. package/dist/journal-entry/entities/journal-entry.entity.js +0 -129
  225. package/dist/journal-entry/entities/journal-entry.entity.js.map +0 -1
  226. package/dist/journal-entry/index.d.ts +0 -6
  227. package/dist/journal-entry/index.js +0 -10
  228. package/dist/journal-entry/index.js.map +0 -1
  229. package/dist/journal-entry/interfaces/journal-entry.repository.interface.d.ts +0 -10
  230. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js +0 -3
  231. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js.map +0 -1
  232. package/dist/ledger-transaction/entities/ledger-transaction.entity.d.ts +0 -19
  233. package/dist/ledger-transaction/entities/ledger-transaction.entity.js +0 -157
  234. package/dist/ledger-transaction/entities/ledger-transaction.entity.js.map +0 -1
  235. package/dist/ledger-transaction/index.d.ts +0 -6
  236. package/dist/ledger-transaction/index.js +0 -10
  237. package/dist/ledger-transaction/index.js.map +0 -1
  238. package/dist/payment/entities/payment-item.entity.d.ts +0 -10
  239. package/dist/payment/entities/payment-item.entity.js +0 -62
  240. package/dist/payment/entities/payment-item.entity.js.map +0 -1
  241. package/dist/payment/entities/payment.entity.d.ts +0 -25
  242. package/dist/payment/entities/payment.entity.js +0 -152
  243. package/dist/payment/entities/payment.entity.js.map +0 -1
  244. package/dist/payment/index.d.ts +0 -10
  245. package/dist/payment/index.js +0 -18
  246. package/dist/payment/index.js.map +0 -1
  247. package/dist/payment/interfaces/payment-item-attr.interface.d.ts +0 -8
  248. package/dist/payment/interfaces/payment-item-attr.interface.js +0 -7
  249. package/dist/payment/interfaces/payment-item-attr.interface.js.map +0 -1
  250. package/dist/payment/interfaces/payment-item.repository.interface.d.ts +0 -3
  251. package/dist/payment/interfaces/payment-item.repository.interface.js +0 -3
  252. package/dist/payment/interfaces/payment-item.repository.interface.js.map +0 -1
  253. package/dist/payment/interfaces/payment.repository.interface.d.ts +0 -3
  254. package/dist/payment/interfaces/payment.repository.interface.js +0 -3
  255. package/dist/payment/interfaces/payment.repository.interface.js.map +0 -1
  256. package/dist/payment/payment-item.repository.d.ts +0 -5
  257. package/dist/payment/payment-item.repository.js +0 -12
  258. package/dist/payment/payment-item.repository.js.map +0 -1
  259. package/dist/payment-item/interfaces/payment-item.repository.interface.d.ts +0 -3
  260. package/dist/payment-item/interfaces/payment-item.repository.interface.js +0 -3
  261. package/dist/payment-item/interfaces/payment-item.repository.interface.js.map +0 -1
  262. package/dist/quickbook-client/client.d.ts +0 -39
  263. package/dist/quickbook-client/client.js +0 -205
  264. package/dist/quickbook-client/client.js.map +0 -1
  265. package/dist/quickbook-client/constant.d.ts +0 -1
  266. package/dist/quickbook-client/constant.js +0 -5
  267. package/dist/quickbook-client/constant.js.map +0 -1
  268. package/dist/quickbook-client/index.d.ts +0 -5
  269. package/dist/quickbook-client/index.js +0 -6
  270. package/dist/quickbook-client/index.js.map +0 -1
  271. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.d.ts +0 -6
  272. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js +0 -3
  273. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js.map +0 -1
  274. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.d.ts +0 -9
  275. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js +0 -3
  276. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js.map +0 -1
  277. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.d.ts +0 -7
  278. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js +0 -3
  279. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js.map +0 -1
  280. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.d.ts +0 -8
  281. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js +0 -3
  282. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js.map +0 -1
  283. package/dist/quickbook-client/quickbook-client.module-definition.d.ts +0 -2
  284. package/dist/quickbook-client/quickbook-client.module-definition.js +0 -9
  285. package/dist/quickbook-client/quickbook-client.module-definition.js.map +0 -1
  286. package/dist/quickbook-client/quickbook-client.module.d.ts +0 -6
  287. package/dist/quickbook-client/quickbook-client.module.js +0 -34
  288. package/dist/quickbook-client/quickbook-client.module.js.map +0 -1
@@ -1,11 +1,11 @@
1
- import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
- import DocumentItemModel from '../models/document-item.entity';
3
-
4
- export class DocumentItemRepository
5
- extends RepositoryBase<DocumentItemModel>
6
- implements IRepositoryBase<DocumentItemModel>
7
- {
8
- constructor() {
9
- super(DocumentItemModel);
10
- }
11
- }
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import DocumentItemModel from '../models/document-item.entity';
3
+
4
+ export class DocumentItemRepository
5
+ extends RepositoryBase<DocumentItemModel>
6
+ implements IRepositoryBase<DocumentItemModel>
7
+ {
8
+ constructor() {
9
+ super(DocumentItemModel);
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
- import DocumentModel from '../models/document.entity';
3
-
4
- export class DocumentRepository
5
- extends RepositoryBase<DocumentModel>
6
- implements IRepositoryBase<DocumentModel>
7
- {
8
- constructor() {
9
- super(DocumentModel);
10
- }
11
- }
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import DocumentModel from '../models/document.entity';
3
+
4
+ export class DocumentRepository
5
+ extends RepositoryBase<DocumentModel>
6
+ implements IRepositoryBase<DocumentModel>
7
+ {
8
+ constructor() {
9
+ super(DocumentModel);
10
+ }
11
+ }
@@ -298,7 +298,7 @@ export default class Document extends AccountSystemEntity {
298
298
  *
299
299
  * @returns {Express.Multer.File} - PDF File
300
300
  */
301
- public static async DEFAULT_INVOICE_TEMPLATE_PDF(
301
+ public async DEFAULT_INVOICE_TEMPLATE_PDF(
302
302
  customer: FinanceCustomerBase,
303
303
  ): Promise<Express.Multer.File> {
304
304
  /* prepping HTML conversion by getting its URL and String */
@@ -316,7 +316,9 @@ export default class Document extends AccountSystemEntity {
316
316
  const browser = await puppeteer.launch();
317
317
  const page = await browser.newPage();
318
318
 
319
- const imagePath = path.resolve('./invoice-template/assets/img/logo.svg');
319
+ const imagePath = path.resolve(
320
+ './invoice-template/assets/img/tomei-logo.svg',
321
+ );
320
322
  const imageBuffer = await readFileContent(imagePath);
321
323
  const imageDataUrl = `data:image/svg+xml;base64,${imageBuffer.toString(
322
324
  'base64',
@@ -335,7 +337,7 @@ export default class Document extends AccountSystemEntity {
335
337
 
336
338
  // Get the current date and invoice number from customer
337
339
  const currentDate = new Date().toLocaleDateString('en-GB');
338
- const invoiceNo = 'EZC-2202-2020';
340
+ const invoiceNo = this.DocNo;
339
341
 
340
342
  // Update the invoice number and date in the HTML content
341
343
  const invoiceContent = `
@@ -371,6 +373,121 @@ export default class Document extends AccountSystemEntity {
371
373
  invoice.innerHTML = invoiceCustomerContent;
372
374
  }, invoiceCustomerContent);
373
375
 
376
+ // Update the invoice Pay To details in the HTML content
377
+ const invoicePayToContent = ``;
378
+ const invoicePayToHandle = await page.$('.tm_payto_detail');
379
+ await invoicePayToHandle.evaluate((invoice, invoicePayToContent) => {
380
+ invoice.innerHTML = invoicePayToContent;
381
+ }, invoicePayToContent);
382
+
383
+ // Update the invoice payment info in the HTML content
384
+ const invoicePaymentInfoContent = ``;
385
+ const invoicePaymentInfoHandle = await page.$('.tm_payment_info');
386
+ await invoicePaymentInfoHandle.evaluate(
387
+ (invoice, invoicePaymentInfoContent) => {
388
+ invoice.innerHTML = invoicePaymentInfoContent;
389
+ },
390
+ invoicePaymentInfoContent,
391
+ );
392
+
393
+ // Update the invoice right footer content in the HTML content
394
+ const invoiceSubtotal = +this.Amount;
395
+ const invoiceTax = 0;
396
+ const invoiceRightFooterContent = `
397
+ <table>
398
+ <tbody>
399
+ <tr>
400
+ <td
401
+ class="tm_width_3 tm_primary_color tm_border_none tm_bold"
402
+ >
403
+ Subtotal
404
+ </td>
405
+ <td
406
+ class="tm_width_3 tm_primary_color tm_text_right tm_border_none tm_bold"
407
+ >
408
+ ${this.Currency} ${invoiceSubtotal}
409
+ </td>
410
+ </tr>
411
+ <tr>
412
+ <td
413
+ class="tm_width_3 tm_primary_color tm_border_none tm_pt0"
414
+ >
415
+ Tax <span class="tm_ternary_color">(0%)</span>
416
+ </td>
417
+ <td
418
+ class="tm_width_3 tm_primary_color tm_text_right tm_border_none tm_pt0"
419
+ >
420
+ ${this.Currency} ${invoiceTax}
421
+ </td>
422
+ </tr>
423
+ <tr class="tm_border_top tm_border_bottom">
424
+ <td
425
+ class="tm_width_3 tm_border_top_0 tm_bold tm_f16 tm_primary_color"
426
+ >
427
+ Grand Total
428
+ </td>
429
+ <td
430
+ class="tm_width_3 tm_border_top_0 tm_bold tm_f16 tm_primary_color tm_text_right"
431
+ >
432
+ ${this.Currency} ${invoiceSubtotal + invoiceTax}
433
+ </td>
434
+ </tr>
435
+ </tbody>
436
+ </table>
437
+ `;
438
+ const invoiceRightFooterHandle = await page.$('.tm_right_footer');
439
+ await invoiceRightFooterHandle.evaluate(
440
+ (invoice, invoiceRightFooterContent) => {
441
+ invoice.innerHTML = invoiceRightFooterContent;
442
+ },
443
+ invoiceRightFooterContent,
444
+ );
445
+
446
+ // Update the invoice Terms & Agreement content in the HTML content
447
+ const invoiceTNCContent = `
448
+ <li>
449
+ All payment must be made to:
450
+ <ul>
451
+ <li>Bank: <b>RHB</b></li>
452
+ <li>Account Name: <b>TXG Financial Solutions Sdn Bhd</b></li>
453
+ <li>Account No.: <b>TBD</b></li>
454
+ </ul>
455
+ </li>
456
+ <li>
457
+ Once payment has been made, please email your transaction confirmation slip to <i>payment@ezcash.com.my</i>
458
+ </li>
459
+ `;
460
+ const invoiceTNCHandle = await page.$('.tm_tnc_content');
461
+ await invoiceTNCHandle.evaluate((invoice, invoiceTNCContent) => {
462
+ invoice.innerHTML = invoiceTNCContent;
463
+ }, invoiceTNCContent);
464
+
465
+ // Update the invoice items content in the HTML content
466
+ const invoiceDocumentItems = await this.DocumentItems;
467
+
468
+ let invoiceItemContent = ``;
469
+ invoiceDocumentItems.forEach((documentItem, i) => {
470
+ invoiceItemContent += `
471
+ <tr>
472
+ <td class="tm_width_3">${i + 1}. ${documentItem.Name}</td>
473
+ <td class="tm_width_4">
474
+ ${documentItem.Description}
475
+ </td>
476
+ <td class="tm_width_2">${documentItem.Currency} ${
477
+ documentItem.UnitPrice
478
+ }</td>
479
+ <td class="tm_width_1">${documentItem.Quantity}</td>
480
+ <td class="tm_width_2 tm_text_right">${documentItem.Currency} ${
481
+ +documentItem.UnitPrice * +documentItem.Quantity
482
+ }</td>
483
+ </tr>
484
+ `;
485
+ });
486
+ const invoiceDocumentItemHandle = await page.$('.tm_items_content');
487
+ await invoiceDocumentItemHandle.evaluate((invoice, invoiceItemContent) => {
488
+ invoice.innerHTML = invoiceItemContent;
489
+ }, invoiceItemContent);
490
+
374
491
  const pdfBuffer = await page.pdf({
375
492
  format: 'a4',
376
493
  printBackground: true,
@@ -503,7 +620,7 @@ export default class Document extends AccountSystemEntity {
503
620
  ObjectType: this.DocType,
504
621
  Type: MediaType.Document,
505
622
  FileName: `${this.DocType}-${this.DocNo}`,
506
- FileStream: await Document.DEFAULT_INVOICE_TEMPLATE_PDF(customer),
623
+ FileStream: await this.DEFAULT_INVOICE_TEMPLATE_PDF(customer),
507
624
  FileExtension: 'pdf',
508
625
  Title: `${this.DocType}-${this.DocNo}.pdf`,
509
626
  Description: `PDF ${this.DocType}`,
@@ -512,7 +629,7 @@ export default class Document extends AccountSystemEntity {
512
629
 
513
630
  /* create PDF media from the converted HTML */
514
631
  const PDFInvoiceMedia = await media.postInternal(
515
- await Document.DEFAULT_INVOICE_TEMPLATE_PDF(customer),
632
+ await this.DEFAULT_INVOICE_TEMPLATE_PDF(customer),
516
633
  pdfPayload,
517
634
  userId ?? 'System',
518
635
  );
@@ -1,28 +1,28 @@
1
- import { DocType, DocumentStatus } from '../../enum';
2
-
3
- export class IDocumentAttr {
4
- DocNo: string;
5
- DocType: DocType;
6
- DocDate: Date;
7
- CompanyId: string;
8
- Currency: string;
9
- Amount: number;
10
- Description: string;
11
- Status: DocumentStatus;
12
- IssuedById: string;
13
- IssuedToId: string;
14
- IssuedToType: string;
15
- RelatedObjectId?: string;
16
- RelatedObjectType?: string;
17
- CreatedById: string;
18
- CreatedAt: Date;
19
- UpdatedById?: string;
20
- UpdatedAt?: Date;
21
- DocPDFFileMediaId?: string;
22
- DocHTMLFileMediaId?: string;
23
- AccSystemRefId?: string;
24
- PostedToAccSystemYN: string;
25
- PostedById?: string;
26
- PostedDateTime?: Date;
27
- UseAccSystemDocYN: string;
28
- }
1
+ import { DocType, DocumentStatus } from '../../enum';
2
+
3
+ export class IDocumentAttr {
4
+ DocNo: string;
5
+ DocType: DocType;
6
+ DocDate: Date;
7
+ CompanyId: string;
8
+ Currency: string;
9
+ Amount: number;
10
+ Description: string;
11
+ Status: DocumentStatus;
12
+ IssuedById: string;
13
+ IssuedToId: string;
14
+ IssuedToType: string;
15
+ RelatedObjectId?: string;
16
+ RelatedObjectType?: string;
17
+ CreatedById: string;
18
+ CreatedAt: Date;
19
+ UpdatedById?: string;
20
+ UpdatedAt?: Date;
21
+ DocPDFFileMediaId?: string;
22
+ DocHTMLFileMediaId?: string;
23
+ AccSystemRefId?: string;
24
+ PostedToAccSystemYN: string;
25
+ PostedById?: string;
26
+ PostedDateTime?: Date;
27
+ UseAccSystemDocYN: string;
28
+ }
@@ -1,22 +1,22 @@
1
- export class IDocumentItemAttr {
2
- DocumentItemId: string;
3
- DocNo: string;
4
- Name: string;
5
- NameBM: string;
6
- Description?: string;
7
- ItemId?: string;
8
- ItemType?: string;
9
- ItemSKU?: string;
10
- ItemSerialNo?: string;
11
- Currency: string;
12
- UnitPrice?: number;
13
- Quantity?: number;
14
- QuantityUOM?: string;
15
- Amount: number;
16
- TaxCode?: string;
17
- TaxAmount?: number;
18
- TaxRate?: number;
19
- TaxInclusiveYN?: string;
20
- DtAccountNo?: string;
21
- CtAccountNo?: string;
22
- }
1
+ export class IDocumentItemAttr {
2
+ DocumentItemId: string;
3
+ DocNo: string;
4
+ Name: string;
5
+ NameBM: string;
6
+ Description?: string;
7
+ ItemId?: string;
8
+ ItemType?: string;
9
+ ItemSKU?: string;
10
+ ItemSerialNo?: string;
11
+ Currency: string;
12
+ UnitPrice?: number;
13
+ Quantity?: number;
14
+ QuantityUOM?: string;
15
+ Amount: number;
16
+ TaxCode?: string;
17
+ TaxAmount?: number;
18
+ TaxRate?: number;
19
+ TaxInclusiveYN?: string;
20
+ DtAccountNo?: string;
21
+ CtAccountNo?: string;
22
+ }
@@ -1,4 +1,4 @@
1
- import { IRepositoryBase } from '@tomei/general';
2
- import DocumentItemModel from '../../models/document-item.entity';
3
-
4
- export type IDocumentItemRepository = IRepositoryBase<DocumentItemModel>;
1
+ import { IRepositoryBase } from '@tomei/general';
2
+ import DocumentItemModel from '../../models/document-item.entity';
3
+
4
+ export type IDocumentItemRepository = IRepositoryBase<DocumentItemModel>;
@@ -1,8 +1,8 @@
1
- export enum DocType {
2
- INVOICE = 'Invoice',
3
- DEBIT_NOTE = 'Debit Note',
4
- CREDIT_NOTE = 'Credit Note',
5
- QUOTATION = 'Quotation',
6
- PURCHASEORDER = 'Purchase Order',
7
- RECEIPT = 'Receipt',
8
- }
1
+ export enum DocType {
2
+ INVOICE = 'Invoice',
3
+ DEBIT_NOTE = 'Debit Note',
4
+ CREDIT_NOTE = 'Credit Note',
5
+ QUOTATION = 'Quotation',
6
+ PURCHASEORDER = 'Purchase Order',
7
+ RECEIPT = 'Receipt',
8
+ }
package/src/enum/index.ts CHANGED
@@ -1,17 +1,17 @@
1
- import { ClientScopes } from './quick-book-client-scopes.enum';
2
- import { PaymentType } from './payment-type.enum';
3
- import { PaymentMethod } from './payment-method.enum';
4
- import { TransactionTypeOptions } from './transaction-type.enum';
5
- import { DocType } from './doc-type.enum';
6
- import { DocumentStatus } from './document-status.enum';
7
- import { PaymentStatus } from './payment-status.enum';
8
-
9
- export {
10
- ClientScopes,
11
- PaymentType,
12
- PaymentMethod,
13
- TransactionTypeOptions,
14
- DocType,
15
- DocumentStatus,
16
- PaymentStatus,
17
- };
1
+ import { ClientScopes } from './quick-book-client-scopes.enum';
2
+ import { PaymentType } from './payment-type.enum';
3
+ import { PaymentMethod } from './payment-method.enum';
4
+ import { TransactionTypeOptions } from './transaction-type.enum';
5
+ import { DocType } from './doc-type.enum';
6
+ import { DocumentStatus } from './document-status.enum';
7
+ import { PaymentStatus } from './payment-status.enum';
8
+
9
+ export {
10
+ ClientScopes,
11
+ PaymentType,
12
+ PaymentMethod,
13
+ TransactionTypeOptions,
14
+ DocType,
15
+ DocumentStatus,
16
+ PaymentStatus,
17
+ };
@@ -1,3 +1,3 @@
1
- export enum PaymentMethod {
2
- Cash = 'Cash', // example
3
- }
1
+ export enum PaymentMethod {
2
+ Cash = 'Cash', // example
3
+ }
@@ -1,4 +1,4 @@
1
- export enum PaymentType {
2
- PAYMENT_RECEIVED = 'Payment Received',
3
- PAYOUT = 'Payout',
4
- }
1
+ export enum PaymentType {
2
+ PAYMENT_RECEIVED = 'Payment Received',
3
+ PAYOUT = 'Payout',
4
+ }
@@ -1,11 +1,11 @@
1
- import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
- import FinanceCompanyModel from '../models/finance-company.entity';
3
-
4
- export class FinanceCompanyRepository
5
- extends RepositoryBase<FinanceCompanyModel>
6
- implements IRepositoryBase<FinanceCompanyModel>
7
- {
8
- constructor() {
9
- super(FinanceCompanyModel);
10
- }
11
- }
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import FinanceCompanyModel from '../models/finance-company.entity';
3
+
4
+ export class FinanceCompanyRepository
5
+ extends RepositoryBase<FinanceCompanyModel>
6
+ implements IRepositoryBase<FinanceCompanyModel>
7
+ {
8
+ constructor() {
9
+ super(FinanceCompanyModel);
10
+ }
11
+ }