@tomei/finance 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) 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/finance-company/finance-company.js +23 -10
  11. package/dist/finance-company/finance-company.js.map +1 -1
  12. package/dist/tsconfig.tsbuildinfo +1 -1
  13. package/invoice-template/assets/css/style.css.map +12 -12
  14. package/invoice-template/assets/css/style.min.css +1 -1
  15. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  16. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  17. package/invoice-template/assets/img/logo_accent.svg +3 -3
  18. package/invoice-template/assets/img/logo_white.svg +4 -4
  19. package/invoice-template/assets/img/sign.svg +12 -12
  20. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  21. package/invoice-template/assets/js/jquery.min.js +1 -1
  22. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  23. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  24. package/invoice-template/assets/sass/style.scss +12 -12
  25. package/migrations/finance-account-migration.js +97 -97
  26. package/migrations/finance-company-migration.js +29 -29
  27. package/migrations/finance-customer-migration.js +51 -51
  28. package/migrations/finance-document-item-migration.js +111 -111
  29. package/migrations/finance-document-migration.js +116 -116
  30. package/migrations/finance-payment-item-migration.js +52 -52
  31. package/migrations/finance-payment-method-migration.js +31 -31
  32. package/migrations/finance-payment-method-type-migration.js +55 -55
  33. package/migrations/finance-payment-migration.js +74 -74
  34. package/migrations/finance-post-history-migration.js +45 -45
  35. package/nest-cli.json +19 -19
  36. package/package.json +79 -79
  37. package/src/account/account.repository.ts +11 -11
  38. package/src/account/account.ts +264 -264
  39. package/src/account/interfaces/account-attr.interface.ts +31 -31
  40. package/src/account-system-entity/account-system-entity.ts +65 -65
  41. package/src/account-system-entity/post-history.repository.ts +11 -11
  42. package/src/config.ts +369 -369
  43. package/src/customer/customer.ts +276 -276
  44. package/src/customer/finance-customer.repository.ts +13 -13
  45. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  46. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  47. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  48. package/src/database.ts +15 -15
  49. package/src/document/document-item.repository.ts +11 -11
  50. package/src/document/document.repository.ts +11 -11
  51. package/src/document/interfaces/document-attr.interface.ts +28 -28
  52. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  53. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  54. package/src/enum/doc-type.enum.ts +8 -8
  55. package/src/enum/index.ts +17 -17
  56. package/src/enum/payment-method.enum.ts +3 -3
  57. package/src/enum/payment-type.enum.ts +4 -4
  58. package/src/finance-company/finance-company.repository.ts +11 -11
  59. package/src/finance-company/finance-company.ts +25 -12
  60. package/src/helpers/typeof.ts +29 -29
  61. package/src/index.ts +30 -30
  62. package/src/interfaces/account-system.interface.ts +20 -20
  63. package/src/interfaces/index.ts +3 -3
  64. package/src/models/account.entity.ts +206 -206
  65. package/src/models/customer.entity.ts +93 -93
  66. package/src/models/document-item.entity.ts +143 -143
  67. package/src/models/document.entity.ts +203 -203
  68. package/src/models/finance-company.entity.ts +25 -25
  69. package/src/models/journal-entry.entity.ts +110 -110
  70. package/src/models/ledger-transaction.entity.ts +148 -148
  71. package/src/models/payment-item.entity.ts +60 -60
  72. package/src/models/payment-method-type.entity.ts +70 -70
  73. package/src/models/payment-method.entity.ts +51 -51
  74. package/src/models/payment.entity.ts +129 -129
  75. package/src/models/post-history.entity.ts +41 -41
  76. package/src/payment/interfaces/payment-attr.interface.ts +19 -19
  77. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  78. package/src/payment/payment.repository.ts +11 -11
  79. package/src/payment/payment.ts +200 -200
  80. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  81. package/src/payment-item/payment-item.repository.ts +11 -11
  82. package/src/payment-item/payment-item.ts +58 -58
  83. package/src/payment-method/payment-method.repository.ts +11 -11
  84. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  85. package/tsconfig.build.json +4 -4
  86. package/tsconfig.json +22 -22
  87. package/tslint.json +18 -18
  88. package/dist/account/entities/account.entity.d.ts +0 -26
  89. package/dist/account/entities/account.entity.js +0 -199
  90. package/dist/account/entities/account.entity.js.map +0 -1
  91. package/dist/account/entities/fee-associated-object.entity.d.ts +0 -6
  92. package/dist/account/entities/fee-associated-object.entity.js +0 -52
  93. package/dist/account/entities/fee-associated-object.entity.js.map +0 -1
  94. package/dist/account/index.d.ts +0 -6
  95. package/dist/account/index.js +0 -10
  96. package/dist/account/index.js.map +0 -1
  97. package/dist/account/interfaces/account.repository.interface.d.ts +0 -3
  98. package/dist/account/interfaces/account.repository.interface.js +0 -3
  99. package/dist/account/interfaces/account.repository.interface.js.map +0 -1
  100. package/dist/account-system-entity/index.d.ts +0 -2
  101. package/dist/account-system-entity/index.js +0 -6
  102. package/dist/account-system-entity/index.js.map +0 -1
  103. package/dist/account-system-entity/post-history.entity.d.ts +0 -11
  104. package/dist/account-system-entity/post-history.entity.js +0 -65
  105. package/dist/account-system-entity/post-history.entity.js.map +0 -1
  106. package/dist/base/account-system.interface.d.ts +0 -7
  107. package/dist/base/account-system.interface.js +0 -3
  108. package/dist/base/account-system.interface.js.map +0 -1
  109. package/dist/base/address.base.abstract.d.ts +0 -4
  110. package/dist/base/address.base.abstract.js +0 -10
  111. package/dist/base/address.base.abstract.js.map +0 -1
  112. package/dist/base/base.address.d.ts +0 -8
  113. package/dist/base/base.address.js +0 -15
  114. package/dist/base/base.address.js.map +0 -1
  115. package/dist/base/base.object.d.ts +0 -7
  116. package/dist/base/base.object.js +0 -14
  117. package/dist/base/base.object.js.map +0 -1
  118. package/dist/base/base.owner.d.ts +0 -23
  119. package/dist/base/base.owner.js +0 -34
  120. package/dist/base/base.owner.js.map +0 -1
  121. package/dist/base/base.repository.abstract.d.ts +0 -12
  122. package/dist/base/base.repository.abstract.js +0 -22
  123. package/dist/base/base.repository.abstract.js.map +0 -1
  124. package/dist/base/base.repository.interface.d.ts +0 -9
  125. package/dist/base/base.repository.interface.js +0 -3
  126. package/dist/base/base.repository.interface.js.map +0 -1
  127. package/dist/base/index.d.ts +0 -4
  128. package/dist/base/index.js +0 -10
  129. package/dist/base/index.js.map +0 -1
  130. package/dist/base/object/base.object.abstract.d.ts +0 -5
  131. package/dist/base/object/base.object.abstract.js +0 -7
  132. package/dist/base/object/base.object.abstract.js.map +0 -1
  133. package/dist/base/object/base.object.d.ts +0 -7
  134. package/dist/base/object/base.object.js +0 -14
  135. package/dist/base/object/base.object.js.map +0 -1
  136. package/dist/base/object/object.interface.d.ts +0 -4
  137. package/dist/base/object/object.interface.js +0 -3
  138. package/dist/base/object/object.interface.js.map +0 -1
  139. package/dist/base/object.base.abstract.d.ts +0 -5
  140. package/dist/base/object.base.abstract.js +0 -11
  141. package/dist/base/object.base.abstract.js.map +0 -1
  142. package/dist/base/owner/base.owner.abstract.d.ts +0 -20
  143. package/dist/base/owner/base.owner.abstract.js +0 -8
  144. package/dist/base/owner/base.owner.abstract.js.map +0 -1
  145. package/dist/base/owner/base.owner.d.ts +0 -22
  146. package/dist/base/owner/base.owner.js +0 -31
  147. package/dist/base/owner/base.owner.js.map +0 -1
  148. package/dist/base/owner/owner.interface.d.ts +0 -19
  149. package/dist/base/owner/owner.interface.js +0 -3
  150. package/dist/base/owner/owner.interface.js.map +0 -1
  151. package/dist/base/person.base.abstract.d.ts +0 -21
  152. package/dist/base/person.base.abstract.js +0 -17
  153. package/dist/base/person.base.abstract.js.map +0 -1
  154. package/dist/base/repository/base.repository.abstract.d.ts +0 -12
  155. package/dist/base/repository/base.repository.abstract.js +0 -22
  156. package/dist/base/repository/base.repository.abstract.js.map +0 -1
  157. package/dist/base/repository/base.repository.interface.d.ts +0 -9
  158. package/dist/base/repository/base.repository.interface.js +0 -3
  159. package/dist/base/repository/base.repository.interface.js.map +0 -1
  160. package/dist/customer/customer.repository.d.ts +0 -0
  161. package/dist/customer/customer.repository.js +0 -1
  162. package/dist/customer/customer.repository.js.map +0 -1
  163. package/dist/customer/entities/customer.entity.d.ts +0 -13
  164. package/dist/customer/entities/customer.entity.js +0 -111
  165. package/dist/customer/entities/customer.entity.js.map +0 -1
  166. package/dist/customer/index.d.ts +0 -7
  167. package/dist/customer/index.js +0 -10
  168. package/dist/customer/index.js.map +0 -1
  169. package/dist/document/entities/document-item.entity.d.ts +0 -27
  170. package/dist/document/entities/document-item.entity.js +0 -174
  171. package/dist/document/entities/document-item.entity.js.map +0 -1
  172. package/dist/document/entities/document.entity.d.ts +0 -22
  173. package/dist/document/entities/document.entity.js +0 -139
  174. package/dist/document/entities/document.entity.js.map +0 -1
  175. package/dist/document/index.d.ts +0 -11
  176. package/dist/document/index.js +0 -20
  177. package/dist/document/index.js.map +0 -1
  178. package/dist/document/interfaces/document.repository.interface.d.ts +0 -3
  179. package/dist/document/interfaces/document.repository.interface.js +0 -3
  180. package/dist/document/interfaces/document.repository.interface.js.map +0 -1
  181. package/dist/enum/document-type.enum.d.ts +0 -7
  182. package/dist/enum/document-type.enum.js +0 -12
  183. package/dist/enum/document-type.enum.js.map +0 -1
  184. package/dist/enum/intuit-client.enum.d.ts +0 -13
  185. package/dist/enum/intuit-client.enum.js +0 -19
  186. package/dist/enum/intuit-client.enum.js.map +0 -1
  187. package/dist/finance-company/entities/finance-company.entity.d.ts +0 -13
  188. package/dist/finance-company/entities/finance-company.entity.js +0 -113
  189. package/dist/finance-company/entities/finance-company.entity.js.map +0 -1
  190. package/dist/finance-company/finance-company.entity.d.ts +0 -13
  191. package/dist/finance-company/finance-company.entity.js +0 -66
  192. package/dist/finance-company/finance-company.entity.js.map +0 -1
  193. package/dist/finance-company/index.d.ts +0 -3
  194. package/dist/finance-company/index.js +0 -8
  195. package/dist/finance-company/index.js.map +0 -1
  196. package/dist/finance-company/interfaces/finance-company-attr.interface.d.ts +0 -10
  197. package/dist/finance-company/interfaces/finance-company-attr.interface.js +0 -3
  198. package/dist/finance-company/interfaces/finance-company-attr.interface.js.map +0 -1
  199. package/dist/finance-company/interfaces/finance-company.repository.interface.d.ts +0 -3
  200. package/dist/finance-company/interfaces/finance-company.repository.interface.js +0 -3
  201. package/dist/finance-company/interfaces/finance-company.repository.interface.js.map +0 -1
  202. package/dist/interfaces/account-system-entity.interface.d.ts +0 -7
  203. package/dist/interfaces/account-system-entity.interface.js +0 -3
  204. package/dist/interfaces/account-system-entity.interface.js.map +0 -1
  205. package/dist/interfaces/customer.repository.interface.d.ts +0 -3
  206. package/dist/interfaces/customer.repository.interface.js +0 -3
  207. package/dist/interfaces/customer.repository.interface.js.map +0 -1
  208. package/dist/interfaces/finance-customer.repository.interface.d.ts +0 -3
  209. package/dist/interfaces/finance-customer.repository.interface.js +0 -3
  210. package/dist/interfaces/finance-customer.repository.interface.js.map +0 -1
  211. package/dist/interfaces/systemConfig.interface.d.ts +0 -0
  212. package/dist/interfaces/systemConfig.interface.js +0 -1
  213. package/dist/interfaces/systemConfig.interface.js.map +0 -1
  214. package/dist/intuit-client/client.d.ts +0 -14
  215. package/dist/intuit-client/client.js +0 -44
  216. package/dist/intuit-client/client.js.map +0 -1
  217. package/dist/journal-entry/entities/journal-entry.entity.d.ts +0 -16
  218. package/dist/journal-entry/entities/journal-entry.entity.js +0 -129
  219. package/dist/journal-entry/entities/journal-entry.entity.js.map +0 -1
  220. package/dist/journal-entry/index.d.ts +0 -6
  221. package/dist/journal-entry/index.js +0 -10
  222. package/dist/journal-entry/index.js.map +0 -1
  223. package/dist/journal-entry/interfaces/journal-entry.repository.interface.d.ts +0 -10
  224. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js +0 -3
  225. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js.map +0 -1
  226. package/dist/ledger-transaction/entities/ledger-transaction.entity.d.ts +0 -19
  227. package/dist/ledger-transaction/entities/ledger-transaction.entity.js +0 -157
  228. package/dist/ledger-transaction/entities/ledger-transaction.entity.js.map +0 -1
  229. package/dist/ledger-transaction/index.d.ts +0 -6
  230. package/dist/ledger-transaction/index.js +0 -10
  231. package/dist/ledger-transaction/index.js.map +0 -1
  232. package/dist/payment/entities/payment-item.entity.d.ts +0 -10
  233. package/dist/payment/entities/payment-item.entity.js +0 -62
  234. package/dist/payment/entities/payment-item.entity.js.map +0 -1
  235. package/dist/payment/entities/payment.entity.d.ts +0 -25
  236. package/dist/payment/entities/payment.entity.js +0 -152
  237. package/dist/payment/entities/payment.entity.js.map +0 -1
  238. package/dist/payment/index.d.ts +0 -10
  239. package/dist/payment/index.js +0 -18
  240. package/dist/payment/index.js.map +0 -1
  241. package/dist/payment/interfaces/payment-item-attr.interface.d.ts +0 -8
  242. package/dist/payment/interfaces/payment-item-attr.interface.js +0 -7
  243. package/dist/payment/interfaces/payment-item-attr.interface.js.map +0 -1
  244. package/dist/payment/interfaces/payment-item.repository.interface.d.ts +0 -3
  245. package/dist/payment/interfaces/payment-item.repository.interface.js +0 -3
  246. package/dist/payment/interfaces/payment-item.repository.interface.js.map +0 -1
  247. package/dist/payment/interfaces/payment.repository.interface.d.ts +0 -3
  248. package/dist/payment/interfaces/payment.repository.interface.js +0 -3
  249. package/dist/payment/interfaces/payment.repository.interface.js.map +0 -1
  250. package/dist/payment/payment-item.repository.d.ts +0 -5
  251. package/dist/payment/payment-item.repository.js +0 -12
  252. package/dist/payment/payment-item.repository.js.map +0 -1
  253. package/dist/payment-item/interfaces/payment-item.repository.interface.d.ts +0 -3
  254. package/dist/payment-item/interfaces/payment-item.repository.interface.js +0 -3
  255. package/dist/payment-item/interfaces/payment-item.repository.interface.js.map +0 -1
  256. package/dist/quickbook-client/client.d.ts +0 -39
  257. package/dist/quickbook-client/client.js +0 -205
  258. package/dist/quickbook-client/client.js.map +0 -1
  259. package/dist/quickbook-client/constant.d.ts +0 -1
  260. package/dist/quickbook-client/constant.js +0 -5
  261. package/dist/quickbook-client/constant.js.map +0 -1
  262. package/dist/quickbook-client/index.d.ts +0 -5
  263. package/dist/quickbook-client/index.js +0 -6
  264. package/dist/quickbook-client/index.js.map +0 -1
  265. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.d.ts +0 -6
  266. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js +0 -3
  267. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js.map +0 -1
  268. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.d.ts +0 -9
  269. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js +0 -3
  270. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js.map +0 -1
  271. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.d.ts +0 -7
  272. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js +0 -3
  273. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js.map +0 -1
  274. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.d.ts +0 -8
  275. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js +0 -3
  276. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js.map +0 -1
  277. package/dist/quickbook-client/quickbook-client.module-definition.d.ts +0 -2
  278. package/dist/quickbook-client/quickbook-client.module-definition.js +0 -9
  279. package/dist/quickbook-client/quickbook-client.module-definition.js.map +0 -1
  280. package/dist/quickbook-client/quickbook-client.module.d.ts +0 -6
  281. package/dist/quickbook-client/quickbook-client.module.js +0 -34
  282. 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
+ }
@@ -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
+ }
@@ -680,6 +680,8 @@ export default class FinanceCompany extends ObjectBase {
680
680
  dt.Description = `${purpose}`;
681
681
  dt.Name = `${purpose}`;
682
682
  dt.RelatedDocNo = invoice.DocNo;
683
+ dt.RelatedObjectId = invoice.RelatedObjectId;
684
+ dt.RelatedObjectType = invoice.RelatedObjectType;
683
685
 
684
686
  const ct = await journalEntry.newLedgerTransaction(
685
687
  TransactionTypeOptions.CREDIT,
@@ -691,6 +693,8 @@ export default class FinanceCompany extends ObjectBase {
691
693
  ct.Description = customer.FullName;
692
694
  ct.Name = customer.FullName;
693
695
  ct.RelatedDocNo = invoice.DocNo;
696
+ ct.RelatedObjectId = invoice.RelatedObjectId;
697
+ ct.RelatedObjectType = invoice.RelatedObjectType;
694
698
 
695
699
  await this.postJournal(dbTransaction, journalEntry, loginUser);
696
700
  }
@@ -833,6 +837,7 @@ export default class FinanceCompany extends ObjectBase {
833
837
  const transactionDate = new Date();
834
838
  const htCreditAccountAmount = new HashTable();
835
839
  const htCreditAccountCurrency = new HashTable();
840
+ const htCreditAccountPurpose = new HashTable();
836
841
 
837
842
  documentItems.forEach((invoiceItem) => {
838
843
  if (!htCreditAccountAmount.exists(invoiceItem.CtAccountNo)) {
@@ -846,6 +851,8 @@ export default class FinanceCompany extends ObjectBase {
846
851
  invoiceItem.CtAccountNo,
847
852
  invoiceItem.Currency,
848
853
  );
854
+
855
+ htCreditAccountPurpose.add(invoiceItem.CtAccountNo, invoiceItem.Name);
849
856
  } else {
850
857
  //update the credit account amount
851
858
  const d = htCreditAccountAmount.get(invoiceItem.CtAccountNo);
@@ -858,19 +865,17 @@ export default class FinanceCompany extends ObjectBase {
858
865
 
859
866
  const savedItems = htCreditAccountAmount.list();
860
867
 
861
- for (let i = 0; i < savedItems.length; i++) {
868
+ for (const item of savedItems) {
862
869
  const journalEntry = new JournalEntry(dbTransaction);
863
870
  //Temporary fix to successfully save journal entry in PostJournal
864
871
  journalEntry.init({
865
872
  CompanyId: this.CompanyId,
866
873
  Name: 'issue Invoice ' + invoice.DocNo,
867
874
  });
868
- const account = await Account.initAccount(
869
- dbTransaction,
870
- savedItems[i].value[0],
871
- );
872
- const creditAmount = savedItems[i].value[1];
873
- const currency = htCreditAccountCurrency.get(savedItems[i].value[0]);
875
+ // const account = await Account.initAccount(dbTransaction, item.value[0]);
876
+ const creditAmount = item.value[1];
877
+ const currency = htCreditAccountCurrency.get(item.value[0]);
878
+ const purpose = htCreditAccountPurpose.get(item.value[0]);
874
879
 
875
880
  const dt = await journalEntry.newLedgerTransaction(
876
881
  TransactionTypeOptions.DEBIT,
@@ -887,20 +892,24 @@ export default class FinanceCompany extends ObjectBase {
887
892
  dt.Currency = currency ? currency : 'MYR';
888
893
  dt.DebitAmount = creditAmount ? creditAmount : 0.0;
889
894
  dt.Date = transactionDate;
890
- dt.Description = account.Name;
891
- dt.Name = account.Name;
895
+ dt.Description = `${purpose}`;
896
+ dt.Name = `${purpose}`;
892
897
  dt.RelatedDocNo = invoice.DocNo;
898
+ dt.RelatedObjectId = invoice.RelatedObjectId;
899
+ dt.RelatedObjectType = invoice.RelatedObjectType;
893
900
 
894
901
  const ct = await journalEntry.newLedgerTransaction(
895
902
  TransactionTypeOptions.CREDIT,
896
903
  );
897
- ct.AccountNo = savedItems[i].key;
904
+ ct.AccountNo = item.value[0];
898
905
  ct.Currency = currency ? currency : 'MYR';
899
906
  ct.CreditAmount = creditAmount ? creditAmount : 0.0;
900
907
  ct.Date = transactionDate;
901
- ct.Description = account.Name;
902
- ct.Name = account.Name;
908
+ ct.Description = customer.FullName;
909
+ ct.Name = customer.FullName;
903
910
  ct.RelatedDocNo = invoice.DocNo;
911
+ ct.RelatedObjectId = invoice.RelatedObjectId;
912
+ ct.RelatedObjectType = invoice.RelatedObjectType;
904
913
 
905
914
  await this.postJournal(dbTransaction, journalEntry, loginUser);
906
915
  }
@@ -1064,6 +1073,9 @@ export default class FinanceCompany extends ObjectBase {
1064
1073
  creditTransaction.Date = transactionDate;
1065
1074
  creditTransaction.Description = creditNote.DocNo;
1066
1075
  creditTransaction.Name = creditNote.DocNo;
1076
+ creditTransaction.RelatedDocNo = creditNote.DocNo;
1077
+ creditTransaction.RelatedObjectId = creditNote.RelatedObjectId;
1078
+ creditTransaction.RelatedObjectType = creditNote.RelatedObjectType;
1067
1079
 
1068
1080
  for (const invoiceItem of documentItems) {
1069
1081
  const itemLedger = await journalEntry.newLedgerTransaction(
@@ -1075,6 +1087,7 @@ export default class FinanceCompany extends ObjectBase {
1075
1087
  itemLedger.Date = transactionDate;
1076
1088
  itemLedger.Description = invoiceItem.Description;
1077
1089
  itemLedger.Name = invoiceItem.Name;
1090
+ itemLedger.RelatedDocNo = invoiceItem.DocNo;
1078
1091
  }
1079
1092
 
1080
1093
  this.postJournal(dbTransaction, journalEntry, loginUser);
@@ -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 };