@tomei/finance 0.3.96 → 0.3.97

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 (285) 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/entities/document-item.entity.d.ts +27 -0
  92. package/dist/document/entities/document-item.entity.js +174 -0
  93. package/dist/document/entities/document-item.entity.js.map +1 -0
  94. package/dist/document/entities/document.entity.d.ts +22 -0
  95. package/dist/document/entities/document.entity.js +139 -0
  96. package/dist/document/entities/document.entity.js.map +1 -0
  97. package/dist/document/index.d.ts +11 -0
  98. package/dist/document/index.js +20 -0
  99. package/dist/document/index.js.map +1 -0
  100. package/dist/document/interfaces/document.repository.interface.d.ts +3 -0
  101. package/dist/document/interfaces/document.repository.interface.js +3 -0
  102. package/dist/document/interfaces/document.repository.interface.js.map +1 -0
  103. package/dist/enum/document-type.enum.d.ts +7 -0
  104. package/dist/enum/document-type.enum.js +12 -0
  105. package/dist/enum/document-type.enum.js.map +1 -0
  106. package/dist/enum/intuit-client.enum.d.ts +13 -0
  107. package/dist/enum/intuit-client.enum.js +19 -0
  108. package/dist/enum/intuit-client.enum.js.map +1 -0
  109. package/dist/finance-company/entities/finance-company.entity.d.ts +13 -0
  110. package/dist/finance-company/entities/finance-company.entity.js +113 -0
  111. package/dist/finance-company/entities/finance-company.entity.js.map +1 -0
  112. package/dist/finance-company/finance-company.entity.d.ts +13 -0
  113. package/dist/finance-company/finance-company.entity.js +66 -0
  114. package/dist/finance-company/finance-company.entity.js.map +1 -0
  115. package/dist/finance-company/finance-company.js +3 -3
  116. package/dist/finance-company/finance-company.js.map +1 -1
  117. package/dist/finance-company/index.d.ts +3 -0
  118. package/dist/finance-company/index.js +8 -0
  119. package/dist/finance-company/index.js.map +1 -0
  120. package/dist/finance-company/interfaces/finance-company-attr.interface.d.ts +10 -0
  121. package/dist/finance-company/interfaces/finance-company-attr.interface.js +3 -0
  122. package/dist/finance-company/interfaces/finance-company-attr.interface.js.map +1 -0
  123. package/dist/finance-company/interfaces/finance-company.repository.interface.d.ts +3 -0
  124. package/dist/finance-company/interfaces/finance-company.repository.interface.js +3 -0
  125. package/dist/finance-company/interfaces/finance-company.repository.interface.js.map +1 -0
  126. package/dist/interfaces/account-system-entity.interface.d.ts +7 -0
  127. package/dist/interfaces/account-system-entity.interface.js +3 -0
  128. package/dist/interfaces/account-system-entity.interface.js.map +1 -0
  129. package/dist/interfaces/customer.repository.interface.d.ts +3 -0
  130. package/dist/interfaces/customer.repository.interface.js +3 -0
  131. package/dist/interfaces/customer.repository.interface.js.map +1 -0
  132. package/dist/interfaces/finance-customer.repository.interface.d.ts +3 -0
  133. package/dist/interfaces/finance-customer.repository.interface.js +3 -0
  134. package/dist/interfaces/finance-customer.repository.interface.js.map +1 -0
  135. package/dist/interfaces/systemConfig.interface.d.ts +0 -0
  136. package/dist/interfaces/systemConfig.interface.js +1 -0
  137. package/dist/interfaces/systemConfig.interface.js.map +1 -0
  138. package/dist/intuit-client/client.d.ts +14 -0
  139. package/dist/intuit-client/client.js +44 -0
  140. package/dist/intuit-client/client.js.map +1 -0
  141. package/dist/journal-entry/entities/journal-entry.entity.d.ts +16 -0
  142. package/dist/journal-entry/entities/journal-entry.entity.js +129 -0
  143. package/dist/journal-entry/entities/journal-entry.entity.js.map +1 -0
  144. package/dist/journal-entry/index.d.ts +6 -0
  145. package/dist/journal-entry/index.js +10 -0
  146. package/dist/journal-entry/index.js.map +1 -0
  147. package/dist/journal-entry/interfaces/journal-entry.repository.interface.d.ts +10 -0
  148. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js +3 -0
  149. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js.map +1 -0
  150. package/dist/journal-entry/journal-entry.js +1 -0
  151. package/dist/journal-entry/journal-entry.js.map +1 -1
  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/payment/entities/payment-item.entity.d.ts +10 -0
  159. package/dist/payment/entities/payment-item.entity.js +62 -0
  160. package/dist/payment/entities/payment-item.entity.js.map +1 -0
  161. package/dist/payment/entities/payment.entity.d.ts +25 -0
  162. package/dist/payment/entities/payment.entity.js +152 -0
  163. package/dist/payment/entities/payment.entity.js.map +1 -0
  164. package/dist/payment/index.d.ts +10 -0
  165. package/dist/payment/index.js +18 -0
  166. package/dist/payment/index.js.map +1 -0
  167. package/dist/payment/interfaces/payment-item-attr.interface.d.ts +8 -0
  168. package/dist/payment/interfaces/payment-item-attr.interface.js +7 -0
  169. package/dist/payment/interfaces/payment-item-attr.interface.js.map +1 -0
  170. package/dist/payment/interfaces/payment-item.repository.interface.d.ts +3 -0
  171. package/dist/payment/interfaces/payment-item.repository.interface.js +3 -0
  172. package/dist/payment/interfaces/payment-item.repository.interface.js.map +1 -0
  173. package/dist/payment/interfaces/payment.repository.interface.d.ts +3 -0
  174. package/dist/payment/interfaces/payment.repository.interface.js +3 -0
  175. package/dist/payment/interfaces/payment.repository.interface.js.map +1 -0
  176. package/dist/payment/payment-item.repository.d.ts +5 -0
  177. package/dist/payment/payment-item.repository.js +12 -0
  178. package/dist/payment/payment-item.repository.js.map +1 -0
  179. package/dist/payment-item/interfaces/payment-item.repository.interface.d.ts +3 -0
  180. package/dist/payment-item/interfaces/payment-item.repository.interface.js +3 -0
  181. package/dist/payment-item/interfaces/payment-item.repository.interface.js.map +1 -0
  182. package/dist/quickbook-client/client.d.ts +39 -0
  183. package/dist/quickbook-client/client.js +205 -0
  184. package/dist/quickbook-client/client.js.map +1 -0
  185. package/dist/quickbook-client/constant.d.ts +1 -0
  186. package/dist/quickbook-client/constant.js +5 -0
  187. package/dist/quickbook-client/constant.js.map +1 -0
  188. package/dist/quickbook-client/index.d.ts +5 -0
  189. package/dist/quickbook-client/index.js +6 -0
  190. package/dist/quickbook-client/index.js.map +1 -0
  191. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.d.ts +6 -0
  192. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js +3 -0
  193. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js.map +1 -0
  194. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.d.ts +9 -0
  195. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js +3 -0
  196. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js.map +1 -0
  197. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.d.ts +7 -0
  198. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js +3 -0
  199. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js.map +1 -0
  200. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.d.ts +8 -0
  201. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js +3 -0
  202. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js.map +1 -0
  203. package/dist/quickbook-client/quickbook-client.module-definition.d.ts +2 -0
  204. package/dist/quickbook-client/quickbook-client.module-definition.js +9 -0
  205. package/dist/quickbook-client/quickbook-client.module-definition.js.map +1 -0
  206. package/dist/quickbook-client/quickbook-client.module.d.ts +6 -0
  207. package/dist/quickbook-client/quickbook-client.module.js +34 -0
  208. package/dist/quickbook-client/quickbook-client.module.js.map +1 -0
  209. package/dist/tsconfig.tsbuildinfo +1 -1
  210. package/invoice-template/assets/css/style.css.map +12 -12
  211. package/invoice-template/assets/css/style.min.css +1 -1
  212. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  213. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  214. package/invoice-template/assets/img/logo_accent.svg +3 -3
  215. package/invoice-template/assets/img/logo_white.svg +4 -4
  216. package/invoice-template/assets/img/sign.svg +12 -12
  217. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  218. package/invoice-template/assets/js/jquery.min.js +1 -1
  219. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  220. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  221. package/invoice-template/assets/sass/style.scss +12 -12
  222. package/migrations/finance-account-migration.js +97 -97
  223. package/migrations/finance-company-migration.js +29 -29
  224. package/migrations/finance-customer-migration.js +51 -51
  225. package/migrations/finance-document-item-migration.js +111 -111
  226. package/migrations/finance-document-migration.js +116 -116
  227. package/migrations/finance-payment-item-migration.js +52 -52
  228. package/migrations/finance-payment-method-migration.js +31 -31
  229. package/migrations/finance-payment-method-type-migration.js +55 -55
  230. package/migrations/finance-payment-migration.js +74 -74
  231. package/migrations/finance-post-history-migration.js +45 -45
  232. package/nest-cli.json +19 -19
  233. package/package.json +79 -79
  234. package/src/account/account.repository.ts +11 -11
  235. package/src/account/account.ts +264 -264
  236. package/src/account/interfaces/account-attr.interface.ts +31 -31
  237. package/src/account-system-entity/account-system-entity.ts +65 -65
  238. package/src/account-system-entity/post-history.repository.ts +11 -11
  239. package/src/config.ts +369 -369
  240. package/src/customer/customer.ts +276 -276
  241. package/src/customer/finance-customer.repository.ts +13 -13
  242. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  243. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  244. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  245. package/src/database.ts +15 -15
  246. package/src/document/document-item.repository.ts +11 -11
  247. package/src/document/document.repository.ts +11 -11
  248. package/src/document/interfaces/document-attr.interface.ts +28 -28
  249. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  250. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  251. package/src/enum/doc-type.enum.ts +8 -8
  252. package/src/enum/index.ts +17 -17
  253. package/src/enum/payment-method.enum.ts +3 -3
  254. package/src/enum/payment-type.enum.ts +4 -4
  255. package/src/finance-company/finance-company.repository.ts +11 -11
  256. package/src/finance-company/finance-company.ts +1569 -1569
  257. package/src/helpers/typeof.ts +29 -29
  258. package/src/index.ts +30 -30
  259. package/src/interfaces/account-system.interface.ts +20 -20
  260. package/src/interfaces/index.ts +3 -3
  261. package/src/journal-entry/journal-entry.ts +1 -51
  262. package/src/models/account.entity.ts +206 -206
  263. package/src/models/customer.entity.ts +93 -93
  264. package/src/models/document-item.entity.ts +143 -143
  265. package/src/models/document.entity.ts +203 -203
  266. package/src/models/finance-company.entity.ts +25 -25
  267. package/src/models/journal-entry.entity.ts +110 -110
  268. package/src/models/ledger-transaction.entity.ts +148 -148
  269. package/src/models/payment-item.entity.ts +60 -60
  270. package/src/models/payment-method-type.entity.ts +70 -70
  271. package/src/models/payment-method.entity.ts +51 -51
  272. package/src/models/payment.entity.ts +129 -129
  273. package/src/models/post-history.entity.ts +41 -41
  274. package/src/payment/interfaces/payment-attr.interface.ts +19 -19
  275. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  276. package/src/payment/payment.repository.ts +11 -11
  277. package/src/payment/payment.ts +200 -200
  278. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  279. package/src/payment-item/payment-item.repository.ts +11 -11
  280. package/src/payment-item/payment-item.ts +58 -58
  281. package/src/payment-method/payment-method.repository.ts +11 -11
  282. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  283. package/tsconfig.build.json +4 -4
  284. package/tsconfig.json +22 -22
  285. package/tslint.json +18 -18
@@ -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,7 +1,6 @@
1
1
  import * as cuid from 'cuid';
2
2
  import { IJournalEntryAttr } from './interfaces/journal-entry-attr.interface';
3
3
  import { TransactionTypeOptions } from '../enum';
4
- import FinanceCompany from '../finance-company/finance-company';
5
4
  import JournalEntryModel from '../models/journal-entry.entity';
6
5
  import { AccountSystemEntity } from '../account-system-entity/account-system-entity';
7
6
  import { LedgerTransactionRepository } from '../ledger-transaction/ledger-transaction.repository';
@@ -158,56 +157,6 @@ export default class JournalEntry extends AccountSystemEntity {
158
157
  });
159
158
  }
160
159
 
161
- // public get DebitTransactions() {
162
- // if (this._DebitTransactions === null) {
163
- // // this._DebitTransactions = new LedgerTransaction(
164
- // // this.ledgerTransactionRepository,
165
- // // );
166
- // if (this.JournalEntryId !== 'New') {
167
- // JournalEntry._LedgerTransactionRepository
168
- // .findAll({
169
- // where: {
170
- // JournalEntryId: {
171
- // [Op.ne]: 'New',
172
- // },
173
- // TransactionType: TransactionTypeOptions.DEBIT,
174
- // },
175
- // transaction: this._DbTransaction,
176
- // })
177
- // .then((allDebitTransactions) => {
178
- // this._DebitTransactions = allDebitTransactions;
179
- // });
180
- // }
181
- // }
182
-
183
- // return this._DebitTransactions;
184
- // }
185
-
186
- // public get CreditTransactions() {
187
- // if (this._CreditTransactions === null) {
188
- // // this._CreditTransactions = new LedgerTransaction(
189
- // // this.ledgerTransactionRepository,
190
- // // );
191
- // if (this.JournalEntryId !== 'New') {
192
- // JournalEntry._LedgerTransactionRepository
193
- // .findAll({
194
- // where: {
195
- // JournalEntryId: {
196
- // [Op.ne]: 'New',
197
- // },
198
- // TransactionType: TransactionTypeOptions.CREDIT,
199
- // },
200
- // transaction: this._DbTransaction,
201
- // })
202
- // .then((allCreditTransactions) => {
203
- // this._CreditTransactions = allCreditTransactions;
204
- // });
205
- // }
206
- // }
207
-
208
- // return this._CreditTransactions;
209
- // }
210
-
211
160
  init(params: IJournalEntryAttr) {
212
161
  if (params.JournalEntryId) this.JournalEntryId = params.JournalEntryId;
213
162
  if (params.CompanyId) this.CompanyId = params.CompanyId;
@@ -271,6 +220,7 @@ export default class JournalEntry extends AccountSystemEntity {
271
220
  transactionType: TransactionTypeOptions,
272
221
  ): Promise<LedgerTransaction> {
273
222
  const ledgerTransaction = new LedgerTransaction(this._DbTransaction);
223
+ ledgerTransaction.TransactionType = transactionType;
274
224
  ledgerTransaction.JournalEntryId = this.JournalEntryId;
275
225
 
276
226
  if (transactionType === TransactionTypeOptions.DEBIT) {
@@ -1,206 +1,206 @@
1
- import { ApiProperty } from '@nestjs/swagger';
2
- import {
3
- ForeignKey,
4
- BelongsTo,
5
- Column,
6
- CreatedAt,
7
- Model,
8
- Table,
9
- DataType,
10
- UpdatedAt,
11
- HasMany,
12
- } from 'sequelize-typescript';
13
- import LedgerTransactionModel from './ledger-transaction.entity';
14
- import DocumentItemModel from './document-item.entity';
15
- import FinanceCompanyModel from './finance-company.entity';
16
- import PaymentMethodTypeModel from './payment-method-type.entity';
17
-
18
- @Table({ tableName: 'finance_Account', createdAt: false, updatedAt: false })
19
- export default class AccountModel extends Model {
20
- @ApiProperty({ type: String, description: 'AccountNo' })
21
- @Column({
22
- primaryKey: true,
23
- allowNull: false,
24
- type: DataType.STRING(30),
25
- })
26
- AccountNo: string;
27
-
28
- @ApiProperty({
29
- example: 'cl6nzvo780000qcw38ihpd8w6',
30
- description: 'CompanyId',
31
- })
32
- @ForeignKey(() => FinanceCompanyModel)
33
- @Column({
34
- allowNull: false,
35
- type: DataType.STRING(30),
36
- })
37
- CompanyId: string;
38
-
39
- //copy from finance account migration table
40
- @ApiProperty({ type: String, description: 'Parent account of this object' })
41
- @Column({
42
- type: DataType.STRING(30),
43
- allowNull: true,
44
- })
45
- ParentAccountNo: string;
46
-
47
- @ApiProperty({
48
- type: String,
49
- description: 'Name of the account',
50
- })
51
- @Column({
52
- allowNull: false,
53
- type: DataType.STRING(200),
54
- })
55
- Name: string;
56
-
57
- @ApiProperty({
58
- type: String,
59
- description: 'Account description',
60
- })
61
- @Column({
62
- allowNull: true,
63
- type: DataType.STRING(2000),
64
- })
65
- Description: string;
66
-
67
- @ApiProperty({
68
- type: String,
69
- description: 'Account Type',
70
- })
71
- @Column({
72
- allowNull: false,
73
- type: DataType.STRING(100),
74
- })
75
- AccountType: string;
76
-
77
- @ApiProperty({
78
- type: String,
79
- description: 'Account Sub Type',
80
- })
81
- @Column({
82
- allowNull: true,
83
- type: DataType.STRING(100),
84
- })
85
- AccountSubType: string;
86
-
87
- @ApiProperty({
88
- type: String,
89
- description: 'Owner id of the account',
90
- })
91
- @Column({
92
- allowNull: true,
93
- type: DataType.STRING(30),
94
- })
95
- OwnerId: string;
96
-
97
- @ApiProperty({
98
- type: String,
99
- description: 'Owner type',
100
- })
101
- @Column({
102
- allowNull: true,
103
- type: DataType.STRING(200),
104
- })
105
- OwnerType: string;
106
-
107
- @ApiProperty({ type: String, description: 'Associated Object id' })
108
- @Column({
109
- allowNull: true,
110
- type: DataType.STRING(30),
111
- })
112
- RelatedObjectId: string;
113
-
114
- @ApiProperty({ type: String, description: 'Associated Object type' })
115
- @Column({
116
- allowNull: true,
117
- type: DataType.STRING(200),
118
- })
119
- RelatedObjectType: string;
120
-
121
- @ApiProperty({
122
- example: new Date(),
123
- description: 'Timestamp for data creation.',
124
- })
125
- @CreatedAt
126
- CreatedAt: Date;
127
-
128
- @ApiProperty({
129
- example: '138140891dd211b288d34bc7b4312a49',
130
- description: 'The CreatedById for Media.',
131
- })
132
- @Column({
133
- allowNull: false,
134
- type: DataType.STRING(30),
135
- })
136
- CreatedById: string;
137
-
138
- @ApiProperty({
139
- example: new Date(),
140
- description: 'Timestamp for latest data modification',
141
- })
142
- @UpdatedAt
143
- UpdatedAt: Date;
144
-
145
- @ApiProperty({
146
- example: '138140891dd211b288d34bc7b4312a49',
147
- description: 'The UpdatedById for Media.',
148
- })
149
- @Column({
150
- allowNull: true,
151
- type: DataType.STRING(30),
152
- })
153
- UpdatedById: string;
154
-
155
- @ApiProperty({
156
- type: String,
157
- description: 'Account id in finance system',
158
- })
159
- @Column({
160
- allowNull: false,
161
- type: DataType.STRING(10),
162
- })
163
- AccSystemRefId: string;
164
-
165
- @ApiProperty({
166
- example: 'N',
167
- description: 'PostedToAccSystemYN',
168
- })
169
- @Column({
170
- allowNull: false,
171
- type: DataType.ENUM('Y', 'N'),
172
- })
173
- PostedToAccSystemYN: string;
174
-
175
- @ApiProperty({
176
- example: '138140891dd211b288',
177
- description: 'PostedById',
178
- })
179
- @Column({
180
- allowNull: true,
181
- type: DataType.STRING(30),
182
- })
183
- PostedById: string;
184
-
185
- @ApiProperty({
186
- example: new Date(),
187
- description: 'PostedToAccSystem Date',
188
- })
189
- @Column({
190
- allowNull: true,
191
- type: DataType.DATE,
192
- })
193
- PostedDateTime: Date;
194
-
195
- @HasMany(() => PaymentMethodTypeModel)
196
- PaymentMethodTypes: PaymentMethodTypeModel[];
197
-
198
- @HasMany(() => DocumentItemModel)
199
- DocumentItems: DocumentItemModel[];
200
-
201
- @HasMany(() => LedgerTransactionModel)
202
- LedgerTransactions: LedgerTransactionModel[];
203
-
204
- @BelongsTo(() => FinanceCompanyModel)
205
- FinanceCompany: FinanceCompanyModel;
206
- }
1
+ import { ApiProperty } from '@nestjs/swagger';
2
+ import {
3
+ ForeignKey,
4
+ BelongsTo,
5
+ Column,
6
+ CreatedAt,
7
+ Model,
8
+ Table,
9
+ DataType,
10
+ UpdatedAt,
11
+ HasMany,
12
+ } from 'sequelize-typescript';
13
+ import LedgerTransactionModel from './ledger-transaction.entity';
14
+ import DocumentItemModel from './document-item.entity';
15
+ import FinanceCompanyModel from './finance-company.entity';
16
+ import PaymentMethodTypeModel from './payment-method-type.entity';
17
+
18
+ @Table({ tableName: 'finance_Account', createdAt: false, updatedAt: false })
19
+ export default class AccountModel extends Model {
20
+ @ApiProperty({ type: String, description: 'AccountNo' })
21
+ @Column({
22
+ primaryKey: true,
23
+ allowNull: false,
24
+ type: DataType.STRING(30),
25
+ })
26
+ AccountNo: string;
27
+
28
+ @ApiProperty({
29
+ example: 'cl6nzvo780000qcw38ihpd8w6',
30
+ description: 'CompanyId',
31
+ })
32
+ @ForeignKey(() => FinanceCompanyModel)
33
+ @Column({
34
+ allowNull: false,
35
+ type: DataType.STRING(30),
36
+ })
37
+ CompanyId: string;
38
+
39
+ //copy from finance account migration table
40
+ @ApiProperty({ type: String, description: 'Parent account of this object' })
41
+ @Column({
42
+ type: DataType.STRING(30),
43
+ allowNull: true,
44
+ })
45
+ ParentAccountNo: string;
46
+
47
+ @ApiProperty({
48
+ type: String,
49
+ description: 'Name of the account',
50
+ })
51
+ @Column({
52
+ allowNull: false,
53
+ type: DataType.STRING(200),
54
+ })
55
+ Name: string;
56
+
57
+ @ApiProperty({
58
+ type: String,
59
+ description: 'Account description',
60
+ })
61
+ @Column({
62
+ allowNull: true,
63
+ type: DataType.STRING(2000),
64
+ })
65
+ Description: string;
66
+
67
+ @ApiProperty({
68
+ type: String,
69
+ description: 'Account Type',
70
+ })
71
+ @Column({
72
+ allowNull: false,
73
+ type: DataType.STRING(100),
74
+ })
75
+ AccountType: string;
76
+
77
+ @ApiProperty({
78
+ type: String,
79
+ description: 'Account Sub Type',
80
+ })
81
+ @Column({
82
+ allowNull: true,
83
+ type: DataType.STRING(100),
84
+ })
85
+ AccountSubType: string;
86
+
87
+ @ApiProperty({
88
+ type: String,
89
+ description: 'Owner id of the account',
90
+ })
91
+ @Column({
92
+ allowNull: true,
93
+ type: DataType.STRING(30),
94
+ })
95
+ OwnerId: string;
96
+
97
+ @ApiProperty({
98
+ type: String,
99
+ description: 'Owner type',
100
+ })
101
+ @Column({
102
+ allowNull: true,
103
+ type: DataType.STRING(200),
104
+ })
105
+ OwnerType: string;
106
+
107
+ @ApiProperty({ type: String, description: 'Associated Object id' })
108
+ @Column({
109
+ allowNull: true,
110
+ type: DataType.STRING(30),
111
+ })
112
+ RelatedObjectId: string;
113
+
114
+ @ApiProperty({ type: String, description: 'Associated Object type' })
115
+ @Column({
116
+ allowNull: true,
117
+ type: DataType.STRING(200),
118
+ })
119
+ RelatedObjectType: string;
120
+
121
+ @ApiProperty({
122
+ example: new Date(),
123
+ description: 'Timestamp for data creation.',
124
+ })
125
+ @CreatedAt
126
+ CreatedAt: Date;
127
+
128
+ @ApiProperty({
129
+ example: '138140891dd211b288d34bc7b4312a49',
130
+ description: 'The CreatedById for Media.',
131
+ })
132
+ @Column({
133
+ allowNull: false,
134
+ type: DataType.STRING(30),
135
+ })
136
+ CreatedById: string;
137
+
138
+ @ApiProperty({
139
+ example: new Date(),
140
+ description: 'Timestamp for latest data modification',
141
+ })
142
+ @UpdatedAt
143
+ UpdatedAt: Date;
144
+
145
+ @ApiProperty({
146
+ example: '138140891dd211b288d34bc7b4312a49',
147
+ description: 'The UpdatedById for Media.',
148
+ })
149
+ @Column({
150
+ allowNull: true,
151
+ type: DataType.STRING(30),
152
+ })
153
+ UpdatedById: string;
154
+
155
+ @ApiProperty({
156
+ type: String,
157
+ description: 'Account id in finance system',
158
+ })
159
+ @Column({
160
+ allowNull: false,
161
+ type: DataType.STRING(10),
162
+ })
163
+ AccSystemRefId: string;
164
+
165
+ @ApiProperty({
166
+ example: 'N',
167
+ description: 'PostedToAccSystemYN',
168
+ })
169
+ @Column({
170
+ allowNull: false,
171
+ type: DataType.ENUM('Y', 'N'),
172
+ })
173
+ PostedToAccSystemYN: string;
174
+
175
+ @ApiProperty({
176
+ example: '138140891dd211b288',
177
+ description: 'PostedById',
178
+ })
179
+ @Column({
180
+ allowNull: true,
181
+ type: DataType.STRING(30),
182
+ })
183
+ PostedById: string;
184
+
185
+ @ApiProperty({
186
+ example: new Date(),
187
+ description: 'PostedToAccSystem Date',
188
+ })
189
+ @Column({
190
+ allowNull: true,
191
+ type: DataType.DATE,
192
+ })
193
+ PostedDateTime: Date;
194
+
195
+ @HasMany(() => PaymentMethodTypeModel)
196
+ PaymentMethodTypes: PaymentMethodTypeModel[];
197
+
198
+ @HasMany(() => DocumentItemModel)
199
+ DocumentItems: DocumentItemModel[];
200
+
201
+ @HasMany(() => LedgerTransactionModel)
202
+ LedgerTransactions: LedgerTransactionModel[];
203
+
204
+ @BelongsTo(() => FinanceCompanyModel)
205
+ FinanceCompany: FinanceCompanyModel;
206
+ }