@tomei/finance 0.3.59 → 0.3.61

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 (291) 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/account/entities/account.entity.d.ts +26 -0
  11. package/dist/account/entities/account.entity.js +199 -0
  12. package/dist/account/entities/account.entity.js.map +1 -0
  13. package/dist/account/entities/fee-associated-object.entity.d.ts +6 -0
  14. package/dist/account/entities/fee-associated-object.entity.js +52 -0
  15. package/dist/account/entities/fee-associated-object.entity.js.map +1 -0
  16. package/dist/account/index.d.ts +6 -0
  17. package/dist/account/index.js +10 -0
  18. package/dist/account/index.js.map +1 -0
  19. package/dist/account/interfaces/account.repository.interface.d.ts +3 -0
  20. package/dist/account/interfaces/account.repository.interface.js +3 -0
  21. package/dist/account/interfaces/account.repository.interface.js.map +1 -0
  22. package/dist/account-system-entity/index.d.ts +2 -0
  23. package/dist/account-system-entity/index.js +6 -0
  24. package/dist/account-system-entity/index.js.map +1 -0
  25. package/dist/account-system-entity/post-history.entity.d.ts +11 -0
  26. package/dist/account-system-entity/post-history.entity.js +65 -0
  27. package/dist/account-system-entity/post-history.entity.js.map +1 -0
  28. package/dist/base/account-system.interface.d.ts +7 -0
  29. package/dist/base/account-system.interface.js +3 -0
  30. package/dist/base/account-system.interface.js.map +1 -0
  31. package/dist/base/address.base.abstract.d.ts +4 -0
  32. package/dist/base/address.base.abstract.js +10 -0
  33. package/dist/base/address.base.abstract.js.map +1 -0
  34. package/dist/base/base.address.d.ts +8 -0
  35. package/dist/base/base.address.js +15 -0
  36. package/dist/base/base.address.js.map +1 -0
  37. package/dist/base/base.object.d.ts +7 -0
  38. package/dist/base/base.object.js +14 -0
  39. package/dist/base/base.object.js.map +1 -0
  40. package/dist/base/base.owner.d.ts +23 -0
  41. package/dist/base/base.owner.js +34 -0
  42. package/dist/base/base.owner.js.map +1 -0
  43. package/dist/base/base.repository.abstract.d.ts +12 -0
  44. package/dist/base/base.repository.abstract.js +22 -0
  45. package/dist/base/base.repository.abstract.js.map +1 -0
  46. package/dist/base/base.repository.interface.d.ts +9 -0
  47. package/dist/base/base.repository.interface.js +3 -0
  48. package/dist/base/base.repository.interface.js.map +1 -0
  49. package/dist/base/index.d.ts +4 -0
  50. package/dist/base/index.js +10 -0
  51. package/dist/base/index.js.map +1 -0
  52. package/dist/base/object/base.object.abstract.d.ts +5 -0
  53. package/dist/base/object/base.object.abstract.js +7 -0
  54. package/dist/base/object/base.object.abstract.js.map +1 -0
  55. package/dist/base/object/base.object.d.ts +7 -0
  56. package/dist/base/object/base.object.js +14 -0
  57. package/dist/base/object/base.object.js.map +1 -0
  58. package/dist/base/object/object.interface.d.ts +4 -0
  59. package/dist/base/object/object.interface.js +3 -0
  60. package/dist/base/object/object.interface.js.map +1 -0
  61. package/dist/base/object.base.abstract.d.ts +5 -0
  62. package/dist/base/object.base.abstract.js +11 -0
  63. package/dist/base/object.base.abstract.js.map +1 -0
  64. package/dist/base/owner/base.owner.abstract.d.ts +20 -0
  65. package/dist/base/owner/base.owner.abstract.js +8 -0
  66. package/dist/base/owner/base.owner.abstract.js.map +1 -0
  67. package/dist/base/owner/base.owner.d.ts +22 -0
  68. package/dist/base/owner/base.owner.js +31 -0
  69. package/dist/base/owner/base.owner.js.map +1 -0
  70. package/dist/base/owner/owner.interface.d.ts +19 -0
  71. package/dist/base/owner/owner.interface.js +3 -0
  72. package/dist/base/owner/owner.interface.js.map +1 -0
  73. package/dist/base/person.base.abstract.d.ts +21 -0
  74. package/dist/base/person.base.abstract.js +17 -0
  75. package/dist/base/person.base.abstract.js.map +1 -0
  76. package/dist/base/repository/base.repository.abstract.d.ts +12 -0
  77. package/dist/base/repository/base.repository.abstract.js +22 -0
  78. package/dist/base/repository/base.repository.abstract.js.map +1 -0
  79. package/dist/base/repository/base.repository.interface.d.ts +9 -0
  80. package/dist/base/repository/base.repository.interface.js +3 -0
  81. package/dist/base/repository/base.repository.interface.js.map +1 -0
  82. package/dist/customer/customer.repository.d.ts +0 -0
  83. package/dist/customer/customer.repository.js +1 -0
  84. package/dist/customer/customer.repository.js.map +1 -0
  85. package/dist/customer/entities/customer.entity.d.ts +13 -0
  86. package/dist/customer/entities/customer.entity.js +111 -0
  87. package/dist/customer/entities/customer.entity.js.map +1 -0
  88. package/dist/customer/index.d.ts +7 -0
  89. package/dist/customer/index.js +10 -0
  90. package/dist/customer/index.js.map +1 -0
  91. package/dist/document/document.js +11 -8
  92. package/dist/document/document.js.map +1 -1
  93. package/dist/document/entities/document-item.entity.d.ts +27 -0
  94. package/dist/document/entities/document-item.entity.js +174 -0
  95. package/dist/document/entities/document-item.entity.js.map +1 -0
  96. package/dist/document/entities/document.entity.d.ts +22 -0
  97. package/dist/document/entities/document.entity.js +139 -0
  98. package/dist/document/entities/document.entity.js.map +1 -0
  99. package/dist/document/index.d.ts +11 -0
  100. package/dist/document/index.js +20 -0
  101. package/dist/document/index.js.map +1 -0
  102. package/dist/document/interfaces/document.repository.interface.d.ts +3 -0
  103. package/dist/document/interfaces/document.repository.interface.js +3 -0
  104. package/dist/document/interfaces/document.repository.interface.js.map +1 -0
  105. package/dist/enum/document-type.enum.d.ts +7 -0
  106. package/dist/enum/document-type.enum.js +12 -0
  107. package/dist/enum/document-type.enum.js.map +1 -0
  108. package/dist/enum/intuit-client.enum.d.ts +13 -0
  109. package/dist/enum/intuit-client.enum.js +19 -0
  110. package/dist/enum/intuit-client.enum.js.map +1 -0
  111. package/dist/finance-company/entities/finance-company.entity.d.ts +13 -0
  112. package/dist/finance-company/entities/finance-company.entity.js +113 -0
  113. package/dist/finance-company/entities/finance-company.entity.js.map +1 -0
  114. package/dist/finance-company/finance-company.entity.d.ts +13 -0
  115. package/dist/finance-company/finance-company.entity.js +66 -0
  116. package/dist/finance-company/finance-company.entity.js.map +1 -0
  117. package/dist/finance-company/finance-company.js +13 -1
  118. package/dist/finance-company/finance-company.js.map +1 -1
  119. package/dist/finance-company/index.d.ts +3 -0
  120. package/dist/finance-company/index.js +8 -0
  121. package/dist/finance-company/index.js.map +1 -0
  122. package/dist/finance-company/interfaces/finance-company-attr.interface.d.ts +10 -0
  123. package/dist/finance-company/interfaces/finance-company-attr.interface.js +3 -0
  124. package/dist/finance-company/interfaces/finance-company-attr.interface.js.map +1 -0
  125. package/dist/finance-company/interfaces/finance-company.repository.interface.d.ts +3 -0
  126. package/dist/finance-company/interfaces/finance-company.repository.interface.js +3 -0
  127. package/dist/finance-company/interfaces/finance-company.repository.interface.js.map +1 -0
  128. package/dist/interfaces/account-system-entity.interface.d.ts +7 -0
  129. package/dist/interfaces/account-system-entity.interface.js +3 -0
  130. package/dist/interfaces/account-system-entity.interface.js.map +1 -0
  131. package/dist/interfaces/customer.repository.interface.d.ts +3 -0
  132. package/dist/interfaces/customer.repository.interface.js +3 -0
  133. package/dist/interfaces/customer.repository.interface.js.map +1 -0
  134. package/dist/interfaces/finance-customer.repository.interface.d.ts +3 -0
  135. package/dist/interfaces/finance-customer.repository.interface.js +3 -0
  136. package/dist/interfaces/finance-customer.repository.interface.js.map +1 -0
  137. package/dist/interfaces/systemConfig.interface.d.ts +0 -0
  138. package/dist/interfaces/systemConfig.interface.js +1 -0
  139. package/dist/interfaces/systemConfig.interface.js.map +1 -0
  140. package/dist/intuit-client/client.d.ts +14 -0
  141. package/dist/intuit-client/client.js +44 -0
  142. package/dist/intuit-client/client.js.map +1 -0
  143. package/dist/journal-entry/entities/journal-entry.entity.d.ts +16 -0
  144. package/dist/journal-entry/entities/journal-entry.entity.js +129 -0
  145. package/dist/journal-entry/entities/journal-entry.entity.js.map +1 -0
  146. package/dist/journal-entry/index.d.ts +6 -0
  147. package/dist/journal-entry/index.js +10 -0
  148. package/dist/journal-entry/index.js.map +1 -0
  149. package/dist/journal-entry/interfaces/journal-entry.repository.interface.d.ts +10 -0
  150. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js +3 -0
  151. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js.map +1 -0
  152. package/dist/ledger-transaction/entities/ledger-transaction.entity.d.ts +19 -0
  153. package/dist/ledger-transaction/entities/ledger-transaction.entity.js +157 -0
  154. package/dist/ledger-transaction/entities/ledger-transaction.entity.js.map +1 -0
  155. package/dist/ledger-transaction/index.d.ts +6 -0
  156. package/dist/ledger-transaction/index.js +10 -0
  157. package/dist/ledger-transaction/index.js.map +1 -0
  158. package/dist/ledger-transaction/interfaces/ledger-transaction-attr.interface.d.ts +14 -13
  159. package/dist/ledger-transaction/ledger-transaction.d.ts +1 -0
  160. package/dist/ledger-transaction/ledger-transaction.js +4 -0
  161. package/dist/ledger-transaction/ledger-transaction.js.map +1 -1
  162. package/dist/payment/entities/payment-item.entity.d.ts +10 -0
  163. package/dist/payment/entities/payment-item.entity.js +62 -0
  164. package/dist/payment/entities/payment-item.entity.js.map +1 -0
  165. package/dist/payment/entities/payment.entity.d.ts +25 -0
  166. package/dist/payment/entities/payment.entity.js +152 -0
  167. package/dist/payment/entities/payment.entity.js.map +1 -0
  168. package/dist/payment/index.d.ts +10 -0
  169. package/dist/payment/index.js +18 -0
  170. package/dist/payment/index.js.map +1 -0
  171. package/dist/payment/interfaces/payment-item-attr.interface.d.ts +8 -0
  172. package/dist/payment/interfaces/payment-item-attr.interface.js +7 -0
  173. package/dist/payment/interfaces/payment-item-attr.interface.js.map +1 -0
  174. package/dist/payment/interfaces/payment-item.repository.interface.d.ts +3 -0
  175. package/dist/payment/interfaces/payment-item.repository.interface.js +3 -0
  176. package/dist/payment/interfaces/payment-item.repository.interface.js.map +1 -0
  177. package/dist/payment/interfaces/payment.repository.interface.d.ts +3 -0
  178. package/dist/payment/interfaces/payment.repository.interface.js +3 -0
  179. package/dist/payment/interfaces/payment.repository.interface.js.map +1 -0
  180. package/dist/payment/payment-item.repository.d.ts +5 -0
  181. package/dist/payment/payment-item.repository.js +12 -0
  182. package/dist/payment/payment-item.repository.js.map +1 -0
  183. package/dist/payment-item/interfaces/payment-item.repository.interface.d.ts +3 -0
  184. package/dist/payment-item/interfaces/payment-item.repository.interface.js +3 -0
  185. package/dist/payment-item/interfaces/payment-item.repository.interface.js.map +1 -0
  186. package/dist/quickbook-client/client.d.ts +39 -0
  187. package/dist/quickbook-client/client.js +205 -0
  188. package/dist/quickbook-client/client.js.map +1 -0
  189. package/dist/quickbook-client/constant.d.ts +1 -0
  190. package/dist/quickbook-client/constant.js +5 -0
  191. package/dist/quickbook-client/constant.js.map +1 -0
  192. package/dist/quickbook-client/index.d.ts +5 -0
  193. package/dist/quickbook-client/index.js +6 -0
  194. package/dist/quickbook-client/index.js.map +1 -0
  195. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.d.ts +6 -0
  196. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js +3 -0
  197. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js.map +1 -0
  198. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.d.ts +9 -0
  199. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js +3 -0
  200. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js.map +1 -0
  201. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.d.ts +7 -0
  202. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js +3 -0
  203. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js.map +1 -0
  204. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.d.ts +8 -0
  205. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js +3 -0
  206. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js.map +1 -0
  207. package/dist/quickbook-client/quickbook-client.module-definition.d.ts +2 -0
  208. package/dist/quickbook-client/quickbook-client.module-definition.js +9 -0
  209. package/dist/quickbook-client/quickbook-client.module-definition.js.map +1 -0
  210. package/dist/quickbook-client/quickbook-client.module.d.ts +6 -0
  211. package/dist/quickbook-client/quickbook-client.module.js +34 -0
  212. package/dist/quickbook-client/quickbook-client.module.js.map +1 -0
  213. package/dist/tsconfig.tsbuildinfo +1 -1
  214. package/invoice-template/assets/css/style.css.map +12 -12
  215. package/invoice-template/assets/css/style.min.css +1 -1
  216. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  217. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  218. package/invoice-template/assets/img/logo_accent.svg +3 -3
  219. package/invoice-template/assets/img/logo_white.svg +4 -4
  220. package/invoice-template/assets/img/sign.svg +12 -12
  221. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  222. package/invoice-template/assets/js/jquery.min.js +1 -1
  223. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  224. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  225. package/invoice-template/assets/sass/style.scss +12 -12
  226. package/migrations/finance-account-migration.js +97 -97
  227. package/migrations/finance-company-migration.js +29 -29
  228. package/migrations/finance-customer-migration.js +51 -51
  229. package/migrations/finance-document-item-migration.js +111 -111
  230. package/migrations/finance-document-migration.js +116 -116
  231. package/migrations/finance-payment-item-migration.js +51 -51
  232. package/migrations/finance-payment-method-migration.js +31 -31
  233. package/migrations/finance-payment-method-type-migration.js +55 -55
  234. package/migrations/finance-payment-migration.js +74 -74
  235. package/migrations/finance-post-history-migration.js +45 -45
  236. package/nest-cli.json +19 -19
  237. package/package.json +79 -79
  238. package/src/account/account.repository.ts +11 -11
  239. package/src/account/account.ts +175 -175
  240. package/src/account/interfaces/account-attr.interface.ts +31 -31
  241. package/src/account-system-entity/account-system-entity.ts +65 -65
  242. package/src/account-system-entity/post-history.repository.ts +11 -11
  243. package/src/config.ts +369 -369
  244. package/src/customer/customer.ts +247 -247
  245. package/src/customer/finance-customer.repository.ts +13 -13
  246. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  247. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  248. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  249. package/src/database.ts +15 -15
  250. package/src/document/document-item.repository.ts +11 -11
  251. package/src/document/document.repository.ts +11 -11
  252. package/src/document/document.ts +17 -11
  253. package/src/document/interfaces/document-attr.interface.ts +28 -28
  254. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  255. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  256. package/src/enum/doc-type.enum.ts +8 -8
  257. package/src/enum/index.ts +17 -17
  258. package/src/enum/payment-method.enum.ts +3 -3
  259. package/src/enum/payment-type.enum.ts +4 -4
  260. package/src/finance-company/finance-company.repository.ts +11 -11
  261. package/src/finance-company/finance-company.ts +14 -2
  262. package/src/helpers/typeof.ts +29 -29
  263. package/src/index.ts +30 -30
  264. package/src/interfaces/account-system.interface.ts +20 -20
  265. package/src/interfaces/index.ts +3 -3
  266. package/src/ledger-transaction/interfaces/ledger-transaction-attr.interface.ts +14 -13
  267. package/src/ledger-transaction/ledger-transaction.ts +3 -0
  268. package/src/models/account.entity.ts +206 -206
  269. package/src/models/customer.entity.ts +93 -93
  270. package/src/models/document-item.entity.ts +143 -143
  271. package/src/models/document.entity.ts +191 -191
  272. package/src/models/finance-company.entity.ts +25 -25
  273. package/src/models/journal-entry.entity.ts +110 -110
  274. package/src/models/ledger-transaction.entity.ts +148 -148
  275. package/src/models/payment-item.entity.ts +59 -59
  276. package/src/models/payment-method-type.entity.ts +70 -70
  277. package/src/models/payment-method.entity.ts +51 -51
  278. package/src/models/payment.entity.ts +153 -153
  279. package/src/models/post-history.entity.ts +41 -41
  280. package/src/payment/interfaces/payment-attr.interface.ts +19 -19
  281. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  282. package/src/payment/payment.repository.ts +11 -11
  283. package/src/payment/payment.ts +208 -208
  284. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  285. package/src/payment-item/payment-item.repository.ts +11 -11
  286. package/src/payment-item/payment-item.ts +58 -58
  287. package/src/payment-method/payment-method.repository.ts +11 -11
  288. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  289. package/tsconfig.build.json +4 -4
  290. package/tsconfig.json +22 -22
  291. package/tslint.json +18 -18
@@ -18,11 +18,7 @@ import { AccountSystemEntity } from '../account-system-entity/account-system-ent
18
18
  import { DocumentRepository } from './document.repository';
19
19
  import FinanceCustomerBase from '../customer/customer';
20
20
  import DocumentModel from '../models/document.entity';
21
-
22
- // eslint-disable-next-line @typescript-eslint/no-var-requires
23
- const getConfig = require('../config');
24
- // eslint-disable-next-line @typescript-eslint/no-var-requires
25
- const config = getConfig();
21
+ import path from 'path';
26
22
 
27
23
  export default class Document extends AccountSystemEntity {
28
24
  DocNo = 'New';
@@ -287,9 +283,14 @@ export default class Document extends AccountSystemEntity {
287
283
  */
288
284
  public static async DEFAULT_INVOICE_TEMPLATE_HTML(): Promise<Express.Multer.File> {
289
285
  /* getting invoice template in HTML format */
290
- const HTMLTemplateFilePath = './invoice-template/index.html';
286
+ const HTMLTemplateFilePath = '\\invoice-template\\index.html';
287
+ let templateLocation = path.resolve(__dirname);
288
+ templateLocation = templateLocation.replace(
289
+ '\\dist\\document',
290
+ HTMLTemplateFilePath,
291
+ );
291
292
  const readFileContent = util.promisify(fs.readFile);
292
- const htmlBuffer = await readFileContent(HTMLTemplateFilePath);
293
+ const htmlBuffer = await readFileContent(templateLocation);
293
294
 
294
295
  const htmlStream: Express.Multer.File = {
295
296
  buffer: htmlBuffer,
@@ -320,16 +321,21 @@ export default class Document extends AccountSystemEntity {
320
321
  /* prepping HTML conversion by getting its URL and String */
321
322
 
322
323
  /* todo: needs to generate HTML first before converting to PDF */
323
- const HTMLTemplateFilePath = './invoice-template/index.html';
324
+ const HTMLTemplateFilePath = '\\invoice-template\\index.html';
325
+ let templateLocation = path.resolve(__dirname);
326
+ templateLocation = templateLocation.replace(
327
+ '\\dist\\document',
328
+ HTMLTemplateFilePath,
329
+ );
324
330
  const readFileContent = util.promisify(fs.readFile);
325
- const htmlString = await readFileContent(HTMLTemplateFilePath, 'utf8');
331
+ const htmlString = await readFileContent(templateLocation, 'utf8');
326
332
 
327
333
  /* converting HTML to PDF */
328
334
  const browser = await puppeteer.launch();
329
335
  const page = await browser.newPage();
330
336
 
331
- if (HTMLTemplateFilePath) {
332
- await page.goto(HTMLTemplateFilePath, {
337
+ if (templateLocation) {
338
+ await page.goto(templateLocation, {
333
339
  waitUntil: 'networkidle2',
334
340
  });
335
341
  } else if (htmlString) {
@@ -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
+ }
@@ -276,7 +276,7 @@ export default class FinanceCompany extends ObjectBase {
276
276
  customer: FinanceCustomerBase,
277
277
  ) {
278
278
  try {
279
- if (!customer.CustSystemCode || !customer.CustSystemRefId) {
279
+ if (!custSystemCode || !custSystemRefId) {
280
280
  throw new Error(
281
281
  'CustSystemCode and CustomerRefId are required fields.',
282
282
  );
@@ -300,6 +300,8 @@ export default class FinanceCompany extends ObjectBase {
300
300
  customer,
301
301
  });
302
302
 
303
+ customer.CompanyId = this._CompanyId;
304
+
303
305
  const newCustomer = await customer.save(
304
306
  customerId,
305
307
  custSystemCode,
@@ -568,7 +570,7 @@ export default class FinanceCompany extends ObjectBase {
568
570
  /*todo: check config file to see which invoice template is to be used for specific project*/
569
571
 
570
572
  /*Generating invoice based on template*/
571
- // invoice.generateInvoice(invoice.IssuedById);
573
+ invoice.generateInvoice(invoice.IssuedById, customer);
572
574
  }
573
575
 
574
576
  const transactionDate = new Date();
@@ -621,6 +623,7 @@ export default class FinanceCompany extends ObjectBase {
621
623
  dt.DebitAmount = creditAmount ? creditAmount : 0.0;
622
624
  dt.Date = transactionDate;
623
625
  dt.Description = account.Name;
626
+ dt.Name = account.Name;
624
627
  dt.RelatedDocNo = invoice.DocNo;
625
628
 
626
629
  const ct = await journalEntry.newLedgerTransaction(
@@ -631,6 +634,7 @@ export default class FinanceCompany extends ObjectBase {
631
634
  ct.CreditAmount = creditAmount ? creditAmount : 0.0;
632
635
  ct.Date = transactionDate;
633
636
  ct.Description = account.Name;
637
+ ct.Name = account.Name;
634
638
  ct.RelatedDocNo = invoice.DocNo;
635
639
 
636
640
  await this.postJournal(dbTransaction, journalEntry);
@@ -819,6 +823,7 @@ export default class FinanceCompany extends ObjectBase {
819
823
  dt.DebitAmount = creditAmount ? creditAmount : 0.0;
820
824
  dt.Date = transactionDate;
821
825
  dt.Description = account.Name;
826
+ dt.Name = account.Name;
822
827
  dt.RelatedDocNo = invoice.DocNo;
823
828
 
824
829
  const ct = await journalEntry.newLedgerTransaction(
@@ -829,6 +834,7 @@ export default class FinanceCompany extends ObjectBase {
829
834
  ct.CreditAmount = creditAmount ? creditAmount : 0.0;
830
835
  ct.Date = transactionDate;
831
836
  ct.Description = account.Name;
837
+ ct.Name = account.Name;
832
838
  ct.RelatedDocNo = invoice.DocNo;
833
839
 
834
840
  await this.postJournal(dbTransaction, journalEntry);
@@ -984,6 +990,7 @@ export default class FinanceCompany extends ObjectBase {
984
990
  creditTransaction.CreditAmount = creditNote.Amount;
985
991
  creditTransaction.Date = transactionDate;
986
992
  creditTransaction.Description = creditNote.DocNo;
993
+ creditTransaction.Name = creditNote.DocNo;
987
994
 
988
995
  for (const invoiceItem of documentItems) {
989
996
  const itemLedger = await journalEntry.newLedgerTransaction(
@@ -994,6 +1001,7 @@ export default class FinanceCompany extends ObjectBase {
994
1001
  itemLedger.DebitAmount = invoiceItem.Amount;
995
1002
  itemLedger.Date = transactionDate;
996
1003
  itemLedger.Description = invoiceItem.Description;
1004
+ itemLedger.Name = invoiceItem.Name;
997
1005
  }
998
1006
 
999
1007
  this.postJournal(dbTransaction, journalEntry);
@@ -1149,6 +1157,7 @@ export default class FinanceCompany extends ObjectBase {
1149
1157
  debitLT.DebitAmount = payment.Amount;
1150
1158
  debitLT.Date = transactionDate;
1151
1159
  debitLT.Description = customer.FullName;
1160
+ debitLT.Name = customer.FullName;
1152
1161
 
1153
1162
  const creditLT = await journalEntry.newLedgerTransaction(
1154
1163
  TransactionTypeOptions.CREDIT,
@@ -1163,6 +1172,7 @@ export default class FinanceCompany extends ObjectBase {
1163
1172
  creditLT.CreditAmount = payment.Amount;
1164
1173
  creditLT.Date = transactionDate;
1165
1174
  creditLT.Description = paymentMethodType.Name;
1175
+ creditLT.Name = paymentMethodType.Name;
1166
1176
 
1167
1177
  await this.postJournal(dbTransaction, journalEntry);
1168
1178
  }
@@ -1258,6 +1268,7 @@ export default class FinanceCompany extends ObjectBase {
1258
1268
  creditLT.CreditAmount = payment.Amount;
1259
1269
  creditLT.Date = transactionDate;
1260
1270
  creditLT.Description = customer.FullName;
1271
+ creditLT.Name = customer.FullName;
1261
1272
 
1262
1273
  const debitLT = await journalEntry.newLedgerTransaction(
1263
1274
  TransactionTypeOptions.DEBIT,
@@ -1271,6 +1282,7 @@ export default class FinanceCompany extends ObjectBase {
1271
1282
  debitLT.DebitAmount = payment.Amount;
1272
1283
  debitLT.Date = transactionDate;
1273
1284
  debitLT.Description = paymentMethodType.Name;
1285
+ debitLT.Name = paymentMethodType.Name;
1274
1286
 
1275
1287
  await this.postJournal(dbTransaction, journalEntry);
1276
1288
 
@@ -1,29 +1,29 @@
1
- export default function type(value: any): string {
2
- if (value === null) {
3
- return 'null';
4
- }
5
- const baseType = typeof value;
6
-
7
- if (!['object', 'function'].includes(baseType)) {
8
- return baseType;
9
- }
10
-
11
- const tag = value[Symbol.toStringTag];
12
- if (typeof tag === 'string') {
13
- return tag;
14
- }
15
-
16
- if (
17
- baseType === 'function' &&
18
- Function.prototype.toString.call(value).startsWith('class')
19
- ) {
20
- return Function.prototype.toString.call(value).split(' ')[1];
21
- }
22
-
23
- const className = value.constructor.name;
24
- if (typeof className === 'string' && className !== '') {
25
- return className;
26
- }
27
-
28
- return baseType;
29
- }
1
+ export default function type(value: any): string {
2
+ if (value === null) {
3
+ return 'null';
4
+ }
5
+ const baseType = typeof value;
6
+
7
+ if (!['object', 'function'].includes(baseType)) {
8
+ return baseType;
9
+ }
10
+
11
+ const tag = value[Symbol.toStringTag];
12
+ if (typeof tag === 'string') {
13
+ return tag;
14
+ }
15
+
16
+ if (
17
+ baseType === 'function' &&
18
+ Function.prototype.toString.call(value).startsWith('class')
19
+ ) {
20
+ return Function.prototype.toString.call(value).split(' ')[1];
21
+ }
22
+
23
+ const className = value.constructor.name;
24
+ if (typeof className === 'string' && className !== '') {
25
+ return className;
26
+ }
27
+
28
+ return baseType;
29
+ }
package/src/index.ts CHANGED
@@ -1,30 +1,30 @@
1
- import Account from './account/account';
2
- import FinanceCompany from './finance-company/finance-company';
3
- import FinanceCustomerBase from './customer/customer';
4
- import Document from './document/document';
5
- import DocumentItem from './document/document-item';
6
- import JournalEntry from './journal-entry/journal-entry';
7
- import LedgerTransaction from './ledger-transaction/ledger-transaction';
8
- import Payment from './payment/payment';
9
- import PaymentItem from './payment-item/payment-item';
10
- import PaymentMethod from './payment-method/payment-method';
11
- import PaymentMethodType from './payment-method-type/payment-method-type';
12
- import PaymentPaidWith from './payment-paid-with/payment-paid-with';
13
-
14
- export {
15
- FinanceCompany,
16
- Account,
17
- FinanceCustomerBase,
18
- Document,
19
- DocumentItem,
20
- JournalEntry,
21
- LedgerTransaction,
22
- Payment,
23
- PaymentItem,
24
- PaymentMethod,
25
- PaymentMethodType,
26
- PaymentPaidWith,
27
- };
28
- export * as FinanceEnum from './enum';
29
- export * as FinanceInterfaces from './interfaces';
30
- export * as FinanceDb from './database';
1
+ import Account from './account/account';
2
+ import FinanceCompany from './finance-company/finance-company';
3
+ import FinanceCustomerBase from './customer/customer';
4
+ import Document from './document/document';
5
+ import DocumentItem from './document/document-item';
6
+ import JournalEntry from './journal-entry/journal-entry';
7
+ import LedgerTransaction from './ledger-transaction/ledger-transaction';
8
+ import Payment from './payment/payment';
9
+ import PaymentItem from './payment-item/payment-item';
10
+ import PaymentMethod from './payment-method/payment-method';
11
+ import PaymentMethodType from './payment-method-type/payment-method-type';
12
+ import PaymentPaidWith from './payment-paid-with/payment-paid-with';
13
+
14
+ export {
15
+ FinanceCompany,
16
+ Account,
17
+ FinanceCustomerBase,
18
+ Document,
19
+ DocumentItem,
20
+ JournalEntry,
21
+ LedgerTransaction,
22
+ Payment,
23
+ PaymentItem,
24
+ PaymentMethod,
25
+ PaymentMethodType,
26
+ PaymentPaidWith,
27
+ };
28
+ export * as FinanceEnum from './enum';
29
+ export * as FinanceInterfaces from './interfaces';
30
+ export * as FinanceDb from './database';
@@ -1,20 +1,20 @@
1
- import Payment from '../payment/payment';
2
- import FinanceCustomerBase from '../customer/customer';
3
-
4
- export interface IAccountSystem {
5
- createAccount(payload: any): Promise<any>;
6
- createInvoice(payload: any): Promise<any>;
7
- createDebitNote(payload: any): Promise<any>;
8
- createCreditNote(payload: any): Promise<any>;
9
- postTransaction(payload: any): Promise<any>;
10
- createCustomer(payload: any): Promise<any>;
11
- makePayment(
12
- customer: FinanceCustomerBase,
13
- paymentInfo: Payment,
14
- ): Promise<any>;
15
- collectPayments(
16
- customer: FinanceCustomerBase,
17
- paymentInfo: Payment,
18
- ): Promise<any>;
19
- postJournalEntry(payload: any): Promise<any>;
20
- }
1
+ import Payment from '../payment/payment';
2
+ import FinanceCustomerBase from '../customer/customer';
3
+
4
+ export interface IAccountSystem {
5
+ createAccount(payload: any): Promise<any>;
6
+ createInvoice(payload: any): Promise<any>;
7
+ createDebitNote(payload: any): Promise<any>;
8
+ createCreditNote(payload: any): Promise<any>;
9
+ postTransaction(payload: any): Promise<any>;
10
+ createCustomer(payload: any): Promise<any>;
11
+ makePayment(
12
+ customer: FinanceCustomerBase,
13
+ paymentInfo: Payment,
14
+ ): Promise<any>;
15
+ collectPayments(
16
+ customer: FinanceCustomerBase,
17
+ paymentInfo: Payment,
18
+ ): Promise<any>;
19
+ postJournalEntry(payload: any): Promise<any>;
20
+ }
@@ -1,3 +1,3 @@
1
- import { IAccountSystem } from '../interfaces/account-system.interface';
2
-
3
- export { IAccountSystem };
1
+ import { IAccountSystem } from '../interfaces/account-system.interface';
2
+
3
+ export { IAccountSystem };
@@ -1,17 +1,18 @@
1
1
  import { TransactionTypeOptions } from '../../enum';
2
2
 
3
3
  export interface ILedgerTransactionAttr {
4
- TransactionId: string;
5
- TransactionType: TransactionTypeOptions;
6
- JournalEntryId: string;
7
- AccountNo: string;
8
- Date: Date;
9
- Description: string;
10
- Currency: string;
11
- DebitAmount: number;
12
- CreditAmount: number;
13
- RelatedObjectId: string;
14
- RelatedObjectType: string;
15
- RelatedDocNo: string;
16
- RelatedPaymentId: string;
4
+ TransactionId?: string;
5
+ TransactionType?: TransactionTypeOptions;
6
+ JournalEntryId?: string;
7
+ AccountNo?: string;
8
+ Date?: Date;
9
+ Name?: string;
10
+ Description?: string;
11
+ Currency?: string;
12
+ DebitAmount?: number;
13
+ CreditAmount?: number;
14
+ RelatedObjectId?: string;
15
+ RelatedObjectType?: string;
16
+ RelatedDocNo?: string;
17
+ RelatedPaymentId?: string;
17
18
  }
@@ -46,6 +46,7 @@ export default class LedgerTransaction {
46
46
  if (params.RelatedObjectId) this.RelatedObjectId = params.RelatedObjectId;
47
47
  if (params.RelatedObjectType)
48
48
  this.RelatedObjectType = params.RelatedObjectType;
49
+ if (params.Name) this.Name = params.Name;
49
50
  }
50
51
 
51
52
  getData() {
@@ -55,6 +56,7 @@ export default class LedgerTransaction {
55
56
  JournalEntryId: this.JournalEntryId,
56
57
  AccountNo: this.AccountNo,
57
58
  Date: this.Date,
59
+ Name: this.Name,
58
60
  Description: this.Description,
59
61
  Currency: this.Currency,
60
62
  DebitAmount: this.DebitAmount,
@@ -82,6 +84,7 @@ export default class LedgerTransaction {
82
84
  TransactionType: transactionType,
83
85
  JournalEntryId: journalEntryId,
84
86
  //TODO: AccountNo should be Filled In. Not sure with What
87
+ Name: '',
85
88
  AccountNo: '',
86
89
  Date: new Date(),
87
90
  Description: '',