taxtank-core 0.30.18 → 0.30.20

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 (80) hide show
  1. package/esm2020/lib/collections/allocation-rule.collection.mjs +14 -1
  2. package/esm2020/lib/db/Enums/chart-accounts/chart-accounts-category.enum.mjs +3 -1
  3. package/esm2020/lib/db/Enums/chart-accounts/chart-accounts-list.enum.mjs +3 -1
  4. package/esm2020/lib/db/Enums/holding/holding-type-category.enum.mjs +10 -0
  5. package/esm2020/lib/db/Enums/subscription/service-product-id.enum.mjs +2 -1
  6. package/esm2020/lib/db/Enums/tank-type.enum.mjs +2 -1
  7. package/esm2020/lib/db/Enums/user-roles.enum.mjs +2 -1
  8. package/esm2020/lib/db/Models/holding/holding-sale.mjs +3 -0
  9. package/esm2020/lib/db/Models/holding/holding-type.mjs +3 -0
  10. package/esm2020/lib/db/Models/holding/holding.mjs +3 -0
  11. package/esm2020/lib/db/Models/holding/index.mjs +4 -0
  12. package/esm2020/lib/db/Models/index.mjs +2 -1
  13. package/esm2020/lib/db/Models/transaction/transaction-base.mjs +14 -1
  14. package/esm2020/lib/forms/client/client-income-types.form.mjs +2 -2
  15. package/esm2020/lib/forms/report/my-tax/my-tax-income-statements.form.mjs +17 -1
  16. package/esm2020/lib/models/account-setup/account-setup-item.mjs +2 -2
  17. package/esm2020/lib/models/account-setup/account-setup-items.const.mjs +14 -4
  18. package/esm2020/lib/models/account-setup/account-setup-items.enum.mjs +2 -1
  19. package/esm2020/lib/models/chart-accounts/chart-accounts-categories.const.mjs +16 -2
  20. package/esm2020/lib/models/chart-accounts/chart-accounts.mjs +4 -1
  21. package/esm2020/lib/models/client/client-income-types.mjs +1 -15
  22. package/esm2020/lib/models/holding/holding-sale.mjs +10 -0
  23. package/esm2020/lib/models/holding/holding-type.mjs +10 -0
  24. package/esm2020/lib/models/holding/holding.mjs +27 -0
  25. package/esm2020/lib/models/holding/index.mjs +4 -0
  26. package/esm2020/lib/models/index.mjs +2 -1
  27. package/esm2020/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.mjs +10 -1
  28. package/esm2020/lib/models/service-subscription/service-product.mjs +4 -1
  29. package/esm2020/lib/models/transaction/allocation-rule-condition.mjs +32 -1
  30. package/esm2020/lib/models/transaction/allocation-rule-transaction.mjs +48 -9
  31. package/esm2020/lib/models/transaction/allocation-rule.mjs +64 -3
  32. package/esm2020/lib/models/transaction/transaction.mjs +5 -2
  33. package/esm2020/lib/models/user/user-roles.const.mjs +3 -1
  34. package/esm2020/lib/services/account-setup/account-setup.service.mjs +19 -14
  35. package/esm2020/lib/services/http/holding/holding-sale.service.mjs +27 -0
  36. package/esm2020/lib/services/http/holding/holding-type.service.mjs +27 -0
  37. package/esm2020/lib/services/http/holding/holding.service.mjs +27 -0
  38. package/esm2020/lib/services/http/holding/index.mjs +4 -0
  39. package/esm2020/lib/services/http/index.mjs +2 -1
  40. package/esm2020/lib/services/http/rest/rest.service.mjs +1 -1
  41. package/fesm2015/taxtank-core.mjs +363 -46
  42. package/fesm2015/taxtank-core.mjs.map +1 -1
  43. package/fesm2020/taxtank-core.mjs +362 -46
  44. package/fesm2020/taxtank-core.mjs.map +1 -1
  45. package/lib/collections/allocation-rule.collection.d.ts +8 -0
  46. package/lib/db/Enums/chart-accounts/chart-accounts-category.enum.d.ts +3 -1
  47. package/lib/db/Enums/chart-accounts/chart-accounts-list.enum.d.ts +3 -1
  48. package/lib/db/Enums/holding/holding-type-category.enum.d.ts +8 -0
  49. package/lib/db/Enums/subscription/service-product-id.enum.d.ts +2 -1
  50. package/lib/db/Enums/tank-type.enum.d.ts +2 -1
  51. package/lib/db/Enums/user-roles.enum.d.ts +1 -0
  52. package/lib/db/Models/holding/holding-sale.d.ts +12 -0
  53. package/lib/db/Models/holding/holding-type.d.ts +12 -0
  54. package/lib/db/Models/holding/holding.d.ts +16 -0
  55. package/lib/db/Models/holding/index.d.ts +3 -0
  56. package/lib/db/Models/index.d.ts +1 -0
  57. package/lib/db/Models/transaction/transaction-base.d.ts +1 -0
  58. package/lib/forms/report/my-tax/my-tax-income-statements.form.d.ts +2 -2
  59. package/lib/models/account-setup/account-setup-item.d.ts +1 -1
  60. package/lib/models/account-setup/account-setup-items.enum.d.ts +2 -1
  61. package/lib/models/chart-accounts/chart-accounts.d.ts +1 -0
  62. package/lib/models/client/client-income-types.d.ts +0 -9
  63. package/lib/models/holding/holding-sale.d.ts +12 -0
  64. package/lib/models/holding/holding-type.d.ts +12 -0
  65. package/lib/models/holding/holding.d.ts +17 -0
  66. package/lib/models/holding/index.d.ts +3 -0
  67. package/lib/models/index.d.ts +1 -0
  68. package/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.d.ts +4 -0
  69. package/lib/models/service-subscription/service-product.d.ts +1 -0
  70. package/lib/models/transaction/allocation-rule-condition.d.ts +4 -0
  71. package/lib/models/transaction/allocation-rule-transaction.d.ts +5 -1
  72. package/lib/models/transaction/allocation-rule.d.ts +19 -1
  73. package/lib/services/account-setup/account-setup.service.d.ts +3 -2
  74. package/lib/services/http/holding/holding-sale.service.d.ts +17 -0
  75. package/lib/services/http/holding/holding-type.service.d.ts +17 -0
  76. package/lib/services/http/holding/holding.service.d.ts +17 -0
  77. package/lib/services/http/holding/index.d.ts +3 -0
  78. package/lib/services/http/index.d.ts +1 -0
  79. package/lib/services/http/rest/rest.service.d.ts +1 -1
  80. package/package.json +1 -1
@@ -6,7 +6,7 @@ import * as i1 from '@angular/common/http';
6
6
  import { HttpParams, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
7
7
  import { map, mergeMap, filter, catchError, take, switchMap, finalize, first as first$1, skip, debounceTime, distinctUntilChanged } from 'rxjs/operators';
8
8
  import { ReplaySubject, Subject, BehaviorSubject, throwError, Observable, of, combineLatest, forkJoin, from, merge as merge$1 } from 'rxjs';
9
- import { plainToClass, Type, Exclude, Transform, Expose, classToPlain } from 'class-transformer';
9
+ import { plainToClass, Type, Transform, Exclude, Expose, classToPlain } from 'class-transformer';
10
10
  import { JwtHelperService } from '@auth0/angular-jwt';
11
11
  import { __decorate, __awaiter } from 'tslib';
12
12
  import get from 'lodash/get';
@@ -18,8 +18,8 @@ import uniqBy from 'lodash/uniqBy';
18
18
  import differenceBy from 'lodash/differenceBy';
19
19
  import moment from 'moment';
20
20
  import { DateRange } from 'moment-range';
21
- import { Validators, UntypedFormGroup, UntypedFormControl, UntypedFormArray, FormArray, FormGroup, FormControl } from '@angular/forms';
22
21
  import intersection from 'lodash/intersection';
22
+ import { Validators, UntypedFormGroup, UntypedFormControl, UntypedFormArray, FormArray, FormGroup, FormControl } from '@angular/forms';
23
23
  import compact from 'lodash/compact';
24
24
  import concat from 'lodash/concat';
25
25
  import cloneDeep$1 from 'lodash/cloneDeep';
@@ -366,6 +366,7 @@ var TankTypeEnum;
366
366
  TankTypeEnum[TankTypeEnum["WORK"] = 2] = "WORK";
367
367
  TankTypeEnum[TankTypeEnum["OTHER"] = 3] = "OTHER";
368
368
  TankTypeEnum[TankTypeEnum["SOLE"] = 4] = "SOLE";
369
+ TankTypeEnum[TankTypeEnum["HOLDING"] = 5] = "HOLDING";
369
370
  })(TankTypeEnum || (TankTypeEnum = {}));
370
371
 
371
372
  class TransactionBase extends ObservableModel {
@@ -380,6 +381,8 @@ class TransactionBase extends ObservableModel {
380
381
  return TankTypeEnum.WORK;
381
382
  case this.isSoleTank():
382
383
  return TankTypeEnum.SOLE;
384
+ case this.isHoldingTank():
385
+ return TankTypeEnum.HOLDING;
383
386
  default:
384
387
  return TankTypeEnum.OTHER;
385
388
  }
@@ -420,6 +423,15 @@ class TransactionBase extends ObservableModel {
420
423
  }
421
424
  return !!this.business;
422
425
  }
426
+ isHoldingTank() {
427
+ var _a;
428
+ // chart accounts may be empty for new instances
429
+ if (this.chartAccounts) {
430
+ return CHART_ACCOUNTS_CATEGORIES.holding.includes((_a = this.chartAccounts) === null || _a === void 0 ? void 0 : _a.category);
431
+ }
432
+ // @TODO Alex we need another way to distinguish work/holding
433
+ return !this.isPropertyTank() && !this.isSoleTank();
434
+ }
423
435
  get amountWithGst() {
424
436
  return this.isGST ? +(Math.round(this.amount * ChartAccounts.GSTCoefficient)).toFixed(2) : this.amount;
425
437
  }
@@ -439,6 +451,9 @@ class TransactionBase extends ObservableModel {
439
451
  return this.grossAmount * this.claimRatio;
440
452
  }
441
453
  }
454
+ __decorate([
455
+ Transform(({ value }) => +value)
456
+ ], TransactionBase.prototype, "amount", void 0);
442
457
  __decorate([
443
458
  Exclude({ toPlainOnly: true }),
444
459
  Type(() => Object),
@@ -696,6 +711,15 @@ class ServiceNotification extends AbstractModel {
696
711
  class TaxCalculation extends AbstractModel {
697
712
  }
698
713
 
714
+ let Holding$1 = class Holding {
715
+ };
716
+
717
+ let HoldingType$1 = class HoldingType {
718
+ };
719
+
720
+ let HoldingSale$1 = class HoldingSale {
721
+ };
722
+
699
723
  /**
700
724
  * access token, needed to access basiq connect ui (https://github.com/basiqio/basiq-connect-ui)
701
725
  */
@@ -1358,6 +1382,7 @@ var UserRolesEnum;
1358
1382
  UserRolesEnum["WORK_TANK"] = "ROLE_USER_WORK";
1359
1383
  UserRolesEnum["PROPERTY_TANK"] = "ROLE_USER_PROPERTY";
1360
1384
  UserRolesEnum["SOLE_TANK"] = "ROLE_USER_SOLE";
1385
+ UserRolesEnum["HOLDING_TANK"] = "ROLE_USER_HOLDING";
1361
1386
  UserRolesEnum["SWITCH_USER"] = "ROLE_PREVIOUS_ADMIN";
1362
1387
  })(UserRolesEnum || (UserRolesEnum = {}));
1363
1388
 
@@ -1434,6 +1459,7 @@ var ServiceProductIdEnum;
1434
1459
  ServiceProductIdEnum[ServiceProductIdEnum["WORK_TANK"] = 4] = "WORK_TANK";
1435
1460
  ServiceProductIdEnum[ServiceProductIdEnum["PROPERTIES"] = 5] = "PROPERTIES";
1436
1461
  ServiceProductIdEnum[ServiceProductIdEnum["SOLE_TANK"] = 6] = "SOLE_TANK";
1462
+ ServiceProductIdEnum[ServiceProductIdEnum["HOLDINGS_TANK"] = 7] = "HOLDINGS_TANK";
1437
1463
  })(ServiceProductIdEnum || (ServiceProductIdEnum = {}));
1438
1464
 
1439
1465
  class ServiceProduct extends ServiceProduct$1 {
@@ -1446,6 +1472,9 @@ class ServiceProduct extends ServiceProduct$1 {
1446
1472
  isSoleTank() {
1447
1473
  return this.id === ServiceProductIdEnum.SOLE_TANK;
1448
1474
  }
1475
+ isHoldingsTank() {
1476
+ return this.id === ServiceProductIdEnum.HOLDINGS_TANK;
1477
+ }
1449
1478
  isArchived() {
1450
1479
  return this.status === ServiceProductStatusEnum.ARCHIVED;
1451
1480
  }
@@ -1870,6 +1899,8 @@ var ChartAccountsCategoryEnum;
1870
1899
  ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_INCOME"] = 12] = "SOLE_INCOME";
1871
1900
  ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_EXPENSE"] = 13] = "SOLE_EXPENSE";
1872
1901
  ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_DEPRECIATION"] = 14] = "SOLE_DEPRECIATION";
1902
+ ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_EXPENSE"] = 15] = "HOLDING_EXPENSE";
1903
+ ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_INCOME"] = 16] = "HOLDING_INCOME";
1873
1904
  })(ChartAccountsCategoryEnum || (ChartAccountsCategoryEnum = {}));
1874
1905
 
1875
1906
  var ChartAccountsEtpEnum;
@@ -2047,6 +2078,8 @@ var ChartAccountsListEnum;
2047
2078
  ChartAccountsListEnum[ChartAccountsListEnum["PSI_OTHER"] = 858] = "PSI_OTHER";
2048
2079
  ChartAccountsListEnum[ChartAccountsListEnum["PSI_DEDUCTION_ASSOCIATES"] = 859] = "PSI_DEDUCTION_ASSOCIATES";
2049
2080
  ChartAccountsListEnum[ChartAccountsListEnum["PSI_DEDUCTION_OTHER"] = 860] = "PSI_DEDUCTION_OTHER";
2081
+ ChartAccountsListEnum[ChartAccountsListEnum["AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS"] = 871] = "AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS";
2082
+ ChartAccountsListEnum[ChartAccountsListEnum["FHSS"] = 872] = "FHSS";
2050
2083
  })(ChartAccountsListEnum || (ChartAccountsListEnum = {}));
2051
2084
 
2052
2085
  var ChartAccountsMetaFieldListEnum;
@@ -2176,6 +2209,7 @@ const CHART_ACCOUNTS_CATEGORIES = {
2176
2209
  ChartAccountsCategoryEnum.OTHER_INCOME,
2177
2210
  ChartAccountsCategoryEnum.PERSONAL_INCOME,
2178
2211
  ChartAccountsCategoryEnum.SOLE_INCOME,
2212
+ ChartAccountsCategoryEnum.HOLDING_INCOME,
2179
2213
  ],
2180
2214
  expense: [
2181
2215
  ChartAccountsCategoryEnum.PROPERTY_EXPENSE,
@@ -2186,7 +2220,8 @@ const CHART_ACCOUNTS_CATEGORIES = {
2186
2220
  ChartAccountsCategoryEnum.OTHER_EXPENSE,
2187
2221
  ChartAccountsCategoryEnum.PERSONAL_EXPENSE,
2188
2222
  ChartAccountsCategoryEnum.SOLE_EXPENSE,
2189
- ChartAccountsCategoryEnum.SOLE_DEPRECIATION
2223
+ ChartAccountsCategoryEnum.SOLE_DEPRECIATION,
2224
+ ChartAccountsCategoryEnum.HOLDING_EXPENSE,
2190
2225
  ],
2191
2226
  property: [
2192
2227
  ChartAccountsCategoryEnum.PROPERTY_EXPENSE,
@@ -2206,6 +2241,10 @@ const CHART_ACCOUNTS_CATEGORIES = {
2206
2241
  ChartAccountsCategoryEnum.SOLE_EXPENSE,
2207
2242
  ChartAccountsCategoryEnum.SOLE_DEPRECIATION
2208
2243
  ],
2244
+ holding: [
2245
+ ChartAccountsCategoryEnum.HOLDING_EXPENSE,
2246
+ ChartAccountsCategoryEnum.HOLDING_INCOME
2247
+ ],
2209
2248
  personal: [
2210
2249
  ChartAccountsCategoryEnum.PERSONAL_EXPENSE,
2211
2250
  ChartAccountsCategoryEnum.PERSONAL_INCOME
@@ -2233,6 +2272,12 @@ const CHART_ACCOUNTS_CATEGORIES = {
2233
2272
  soleDepreciation: [
2234
2273
  ChartAccountsCategoryEnum.SOLE_DEPRECIATION,
2235
2274
  ],
2275
+ holdingExpense: [
2276
+ ChartAccountsCategoryEnum.HOLDING_EXPENSE,
2277
+ ],
2278
+ holdingIncome: [
2279
+ ChartAccountsCategoryEnum.HOLDING_INCOME,
2280
+ ],
2236
2281
  workTankHeader: [
2237
2282
  ChartAccountsCategoryEnum.WORK_INCOME,
2238
2283
  ChartAccountsCategoryEnum.OTHER_INCOME,
@@ -2256,6 +2301,7 @@ const CHART_ACCOUNTS_CATEGORIES = {
2256
2301
  ChartAccountsCategoryEnum.PROPERTY_INCOME,
2257
2302
  ChartAccountsCategoryEnum.WORK_INCOME,
2258
2303
  ChartAccountsCategoryEnum.OTHER_INCOME,
2304
+ ChartAccountsCategoryEnum.HOLDING_INCOME,
2259
2305
  ChartAccountsCategoryEnum.PERSONAL_INCOME,
2260
2306
  ChartAccountsCategoryEnum.PROPERTY_EXPENSE,
2261
2307
  ChartAccountsCategoryEnum.PROPERTY_DEPRECIATION,
@@ -2263,6 +2309,7 @@ const CHART_ACCOUNTS_CATEGORIES = {
2263
2309
  ChartAccountsCategoryEnum.WORK_DEPRECIATION,
2264
2310
  ChartAccountsCategoryEnum.WORK_EXPENSE,
2265
2311
  ChartAccountsCategoryEnum.OTHER_EXPENSE,
2312
+ ChartAccountsCategoryEnum.HOLDING_EXPENSE,
2266
2313
  ChartAccountsCategoryEnum.PERSONAL_EXPENSE
2267
2314
  ]
2268
2315
  };
@@ -3039,6 +3086,9 @@ class ChartAccounts extends ChartAccounts$1 {
3039
3086
  isTaxable() {
3040
3087
  return !this.isNRAS() && this.isWorkIncome();
3041
3088
  }
3089
+ isTransfer() {
3090
+ return this.id === ChartAccountsListEnum.TRANSFER;
3091
+ }
3042
3092
  }
3043
3093
  /**
3044
3094
  * Australian GST percent value (VAT)
@@ -3078,6 +3128,36 @@ let AllocationRuleCondition$1 = class AllocationRuleCondition extends AbstractMo
3078
3128
  };
3079
3129
 
3080
3130
  class AllocationRuleCondition extends AllocationRuleCondition$1 {
3131
+ matchBankTransaction(bankTransaction) {
3132
+ return this.field === AllocationRuleConditionFieldEnum.AMOUNT ? this.matchBankTransactionByAmount(bankTransaction) : this.matchBankTransactionByDescription(bankTransaction);
3133
+ }
3134
+ matchBankTransactionByAmount(bankTransaction) {
3135
+ // Amount should be compared as number
3136
+ const value = +this.value;
3137
+ switch (this.comparisonOperator) {
3138
+ case AllocationRuleConditionComparisonOperatorEnum.EQUALS:
3139
+ return bankTransaction.amount === value;
3140
+ case AllocationRuleConditionComparisonOperatorEnum.EQUALS_OR_LESS:
3141
+ return bankTransaction.amount <= value;
3142
+ case AllocationRuleConditionComparisonOperatorEnum.EQUALS_OR_GREATER:
3143
+ return bankTransaction.amount >= value;
3144
+ }
3145
+ return false;
3146
+ }
3147
+ matchBankTransactionByDescription(bankTransaction) {
3148
+ // Prepare value and description for comparison
3149
+ const description = bankTransaction.description.toLowerCase();
3150
+ const value = this.value.trim().toLowerCase();
3151
+ switch (this.comparisonOperator) {
3152
+ case AllocationRuleConditionComparisonOperatorEnum.EQUALS:
3153
+ return description === value;
3154
+ case AllocationRuleConditionComparisonOperatorEnum.CONTAINS:
3155
+ return description.includes(value);
3156
+ case AllocationRuleConditionComparisonOperatorEnum.STARTS:
3157
+ return description.startsWith(value);
3158
+ }
3159
+ return false;
3160
+ }
3081
3161
  }
3082
3162
 
3083
3163
  let AllocationRuleTransaction$1 = class AllocationRuleTransaction extends TransactionBase {
@@ -3254,6 +3334,12 @@ __decorate([
3254
3334
  Type(() => Date)
3255
3335
  ], IncomeSource.prototype, "dateTo", void 0);
3256
3336
 
3337
+ var TransactionSourceEnum;
3338
+ (function (TransactionSourceEnum) {
3339
+ TransactionSourceEnum[TransactionSourceEnum["CASH"] = 1] = "CASH";
3340
+ TransactionSourceEnum[TransactionSourceEnum["BANK_TRANSACTION"] = 2] = "BANK_TRANSACTION";
3341
+ })(TransactionSourceEnum || (TransactionSourceEnum = {}));
3342
+
3257
3343
  class AllocationRuleTransaction extends AllocationRuleTransaction$1 {
3258
3344
  calculateClaimPercent() {
3259
3345
  var _a, _b;
@@ -3269,26 +3355,63 @@ class AllocationRuleTransaction extends AllocationRuleTransaction$1 {
3269
3355
  }
3270
3356
  return claimPercent;
3271
3357
  }
3358
+ /**
3359
+ * Create Transaction instance based on passed bank transaction and rule transaction
3360
+ */
3361
+ toTransaction(bankTransaction) {
3362
+ return plainToClass(Transaction, {
3363
+ amount: bankTransaction.amount,
3364
+ description: bankTransaction.description,
3365
+ type: bankTransaction.type,
3366
+ date: bankTransaction.date,
3367
+ source: TransactionSourceEnum.BANK_TRANSACTION,
3368
+ tax: this.tax,
3369
+ claimPercent: this.claimPercent,
3370
+ isGST: this.isGST,
3371
+ chartAccounts: this.chartAccounts,
3372
+ property: this.property,
3373
+ loan: this.loan,
3374
+ incomeSource: this.incomeSource,
3375
+ metaFields: this.metaFields,
3376
+ parentTransaction: this.parentTransaction,
3377
+ childTransactions: this.childTransactions,
3378
+ business: this.business,
3379
+ operation: TransactionOperationEnum.ALLOCATE,
3380
+ allocations: [TransactionAllocation.create(bankTransaction.amount, bankTransaction)],
3381
+ });
3382
+ }
3272
3383
  }
3273
3384
  __decorate([
3274
- Type(() => ChartAccounts),
3275
- Transform(({ value }) => { return { id: value.id }; }, { toPlainOnly: true })
3385
+ Type(() => ChartAccounts)
3386
+ // @TODO Alex: Create custom decorator for this transform
3387
+ ,
3388
+ Transform(({ value }) => {
3389
+ return { id: value.id };
3390
+ }, { toPlainOnly: true })
3276
3391
  ], AllocationRuleTransaction.prototype, "chartAccounts", void 0);
3277
3392
  __decorate([
3278
3393
  Type(() => Property),
3279
- Transform(({ value }) => { return value ? { id: value.id } : null; }, { toPlainOnly: true })
3394
+ Transform(({ value }) => {
3395
+ return value ? { id: value.id } : null;
3396
+ }, { toPlainOnly: true })
3280
3397
  ], AllocationRuleTransaction.prototype, "property", void 0);
3281
3398
  __decorate([
3282
3399
  Type(() => Loan),
3283
- Transform(({ value }) => { return value ? { id: value.id } : null; }, { toPlainOnly: true })
3400
+ Transform(({ value }) => {
3401
+ return value ? { id: value.id } : null;
3402
+ }, { toPlainOnly: true })
3284
3403
  ], AllocationRuleTransaction.prototype, "loan", void 0);
3285
3404
  __decorate([
3286
3405
  Type(() => IncomeSource),
3287
- Transform(({ value }) => { return value ? { id: value.id } : null; }, { toPlainOnly: true })
3406
+ Transform(({ value }) => {
3407
+ return value ? { id: value.id } : null;
3408
+ }, { toPlainOnly: true })
3288
3409
  ], AllocationRuleTransaction.prototype, "incomeSource", void 0);
3289
3410
  __decorate([
3290
3411
  Type(() => SoleBusiness),
3291
- Transform(({ value }) => { return value ? { id: value.id } : null; }, { toPlainOnly: true })
3412
+ Transform(({ value }) => {
3413
+ return value ? { id: value.id } : null;
3414
+ }, { toPlainOnly: true })
3292
3415
  ], AllocationRuleTransaction.prototype, "business", void 0);
3293
3416
  __decorate([
3294
3417
  Type(() => AllocationRuleTransactionMetaField)
@@ -3358,6 +3481,65 @@ class AllocationRule extends AllocationRule$1 {
3358
3481
  isSoleIncome() {
3359
3482
  return this.isIncome() && this.isSoleTank();
3360
3483
  }
3484
+ /**
3485
+ * @TODO Alex: move to collection
3486
+ */
3487
+ matchBankTransaction(bankTransaction) {
3488
+ return this.conditionOperator === AllocationRuleConditionOperatorEnum.AND ? this.checkAnd(bankTransaction) : this.checkOr(bankTransaction);
3489
+ }
3490
+ createTransaction(bankTransaction) {
3491
+ if (this.isTransfer()) {
3492
+ const transaction = bankTransaction.toTransaction();
3493
+ transaction.operation = TransactionOperationEnum.TRANSFER;
3494
+ transaction.chartAccounts = plainToClass(ChartAccounts, { id: ChartAccountsListEnum.TRANSFER });
3495
+ return transaction;
3496
+ }
3497
+ return this.transaction.toTransaction(bankTransaction);
3498
+ }
3499
+ /**
3500
+ * Rule is matched when all conditions matched
3501
+ */
3502
+ checkAnd(bankTransaction) {
3503
+ for (let condition of this.conditions) {
3504
+ if (!condition.matchBankTransaction(bankTransaction)) {
3505
+ return false;
3506
+ }
3507
+ }
3508
+ return true;
3509
+ }
3510
+ /**
3511
+ * Rule is matched when at least one condition matched
3512
+ */
3513
+ checkOr(bankTransaction) {
3514
+ for (let condition of this.conditions) {
3515
+ if (condition.matchBankTransaction(bankTransaction)) {
3516
+ return true;
3517
+ }
3518
+ }
3519
+ return false;
3520
+ }
3521
+ /**
3522
+ * Create allocation rule based on bank transaction (just prefill rule fields with bank transaction values)
3523
+ */
3524
+ static fromBankTransaction(bankTransaction) {
3525
+ return plainToClass(AllocationRule, {
3526
+ type: bankTransaction.isDebit() ? AllocationRuleTypeEnum.EXPENSE : AllocationRuleTypeEnum.INCOME,
3527
+ bankAccount: bankTransaction.bankAccount,
3528
+ conditionOperator: AllocationRuleConditionOperatorEnum.AND,
3529
+ conditions: [
3530
+ plainToClass(AllocationRuleCondition, {
3531
+ field: AllocationRuleConditionFieldEnum.AMOUNT,
3532
+ comparisonOperator: AllocationRuleConditionComparisonOperatorEnum.EQUALS,
3533
+ value: bankTransaction.amount
3534
+ }),
3535
+ plainToClass(AllocationRuleCondition, {
3536
+ field: AllocationRuleConditionFieldEnum.DESCRIPTION,
3537
+ comparisonOperator: AllocationRuleConditionComparisonOperatorEnum.EQUALS,
3538
+ value: bankTransaction.description
3539
+ })
3540
+ ]
3541
+ });
3542
+ }
3361
3543
  }
3362
3544
  __decorate([
3363
3545
  Type(() => BankAccount),
@@ -3388,12 +3570,6 @@ var TransactionTypeEnum;
3388
3570
  TransactionTypeEnum[TransactionTypeEnum["CREDIT"] = 2] = "CREDIT";
3389
3571
  })(TransactionTypeEnum || (TransactionTypeEnum = {}));
3390
3572
 
3391
- var TransactionSourceEnum;
3392
- (function (TransactionSourceEnum) {
3393
- TransactionSourceEnum[TransactionSourceEnum["CASH"] = 1] = "CASH";
3394
- TransactionSourceEnum[TransactionSourceEnum["BANK_TRANSACTION"] = 2] = "BANK_TRANSACTION";
3395
- })(TransactionSourceEnum || (TransactionSourceEnum = {}));
3396
-
3397
3573
  var TaxExemptionEnum;
3398
3574
  (function (TaxExemptionEnum) {
3399
3575
  TaxExemptionEnum[TaxExemptionEnum["ONE_YEAR_RULE"] = 1] = "ONE_YEAR_RULE";
@@ -4231,11 +4407,13 @@ const USER_ROLES = {
4231
4407
  ROLE_EMPLOYEE: [UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
4232
4408
  ROLE_ACCOUNTANT: [UserRolesEnum.ACCOUNTANT],
4233
4409
  ROLE_ADVISOR: [UserRolesEnum.ADVISOR],
4410
+ // @TODO makes no sense, these roles can't be hierarchical
4234
4411
  ROLE_CLIENT: [UserRolesEnum.CLIENT],
4235
4412
  ROLE_USER_SUBSCRIPTION: [UserRolesEnum.SUBSCRIPTION],
4236
4413
  ROLE_USER_WORK: [UserRolesEnum.WORK_TANK],
4237
4414
  ROLE_USER_PROPERTY: [UserRolesEnum.PROPERTY_TANK],
4238
4415
  ROLE_USER_SOLE: [UserRolesEnum.SOLE_TANK],
4416
+ ROLE_USER_HOLDING: [UserRolesEnum.HOLDING_TANK],
4239
4417
  };
4240
4418
 
4241
4419
  /**
@@ -4938,6 +5116,9 @@ __decorate([
4938
5116
  __decorate([
4939
5117
  Type(() => SoleInvoiceItem)
4940
5118
  ], Transaction.prototype, "soleInvoiceItem", void 0);
5119
+ __decorate([
5120
+ Transform(({ value }) => +value)
5121
+ ], Transaction.prototype, "tax", void 0);
4941
5122
 
4942
5123
  var TransactionCategoryEnum;
4943
5124
  (function (TransactionCategoryEnum) {
@@ -6354,6 +6535,18 @@ class AllocationRuleCollection extends Collection {
6354
6535
  getTransfer() {
6355
6536
  return this.filterBy('type', AllocationRuleTypeEnum.TRANSFER);
6356
6537
  }
6538
+ /**
6539
+ * Get dictionary where key is bank transaction id and value is collection of matched rules.
6540
+ * Group by this way for better performance
6541
+ * @TODO Alex: break bank transactions by pagination in case of bad performance
6542
+ */
6543
+ groupByBankTransaction(bankTransactions) {
6544
+ const rulesByBankTransaction = new CollectionDictionary(new AllocationRuleCollection([]));
6545
+ bankTransactions.toArray().forEach((bankTransaction) => {
6546
+ rulesByBankTransaction.add(bankTransaction.id, this.filter((rule) => rule.matchBankTransaction(bankTransaction)));
6547
+ });
6548
+ return rulesByBankTransaction;
6549
+ }
6357
6550
  }
6358
6551
 
6359
6552
  class AccountSetupItemCollection extends Collection {
@@ -8099,6 +8292,37 @@ __decorate([
8099
8292
  Type(() => Document)
8100
8293
  ], DocumentFolder.prototype, "documents", void 0);
8101
8294
 
8295
+ class HoldingType extends AbstractModel {
8296
+ }
8297
+ __decorate([
8298
+ Type(() => User)
8299
+ ], HoldingType.prototype, "user", void 0);
8300
+
8301
+ class HoldingSale extends AbstractModel {
8302
+ }
8303
+ __decorate([
8304
+ Type(() => AppFile)
8305
+ ], HoldingSale.prototype, "file", void 0);
8306
+
8307
+ class Holding extends AbstractModel {
8308
+ }
8309
+ __decorate([
8310
+ Type(() => Date)
8311
+ ], Holding.prototype, "date", void 0);
8312
+ __decorate([
8313
+ Type(() => User)
8314
+ ], Holding.prototype, "user", void 0);
8315
+ __decorate([
8316
+ Type(() => HoldingType)
8317
+ ], Holding.prototype, "type", void 0);
8318
+ __decorate([
8319
+ Type(() => AppFile)
8320
+ ], Holding.prototype, "file", void 0);
8321
+ __decorate([
8322
+ Type(() => HoldingSale),
8323
+ Transform(({ value }) => new Collection(value))
8324
+ ], Holding.prototype, "sales", void 0);
8325
+
8102
8326
  const NAME_TOKEN = 'token';
8103
8327
  const NAME_REFRESH_TOKEN = 'refreshToken';
8104
8328
  class JwtService extends JwtHelperService {
@@ -10154,20 +10378,6 @@ class Badge extends AbstractModel {
10154
10378
  }
10155
10379
 
10156
10380
  class ClientIncomeTypes extends ClientIncomeTypes$1 {
10157
- constructor() {
10158
- super(...arguments);
10159
- this.salary = false;
10160
- this.property = false;
10161
- this.sole = false;
10162
- this.dividends = false;
10163
- this.other = false;
10164
- }
10165
- /**
10166
- * Get count of selected income types
10167
- */
10168
- get length() {
10169
- return Object.values(this).filter((value) => typeof value === 'boolean' && value).length;
10170
- }
10171
10381
  }
10172
10382
 
10173
10383
  class ClientInvite extends ClientInvite$1 {
@@ -10959,6 +11169,15 @@ class MyTaxIncomeStatements {
10959
11169
  .get(ChartAccountsListEnum.ATTRIBUTABLE_PSI).sumBy('grossAmount');
10960
11170
  this.attributablePsiTransactionsTotalTax = this.transactionsByChartAccounts
10961
11171
  .get(ChartAccountsListEnum.ATTRIBUTABLE_PSI).sumBy('tax');
11172
+ this.fhssTransactionsTotalAmount = this.transactionsByChartAccounts
11173
+ .get(ChartAccountsListEnum.FHSS).sumBy('grossAmount');
11174
+ this.fhssTransactionsTotalTax = this.transactionsByChartAccounts
11175
+ .get(ChartAccountsListEnum.FHSS).sumBy('tax');
11176
+ // Australian Government Special Payments
11177
+ this.australianSpecialPaymentsTotalAmount = this.transactionsByChartAccounts
11178
+ .get(ChartAccountsListEnum.AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS).sumBy('grossAmount');
11179
+ this.australianSpecialPaymentsTotalTax = this.transactionsByChartAccounts
11180
+ .get(ChartAccountsListEnum.AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS).sumBy('tax');
10962
11181
  }
10963
11182
  }
10964
11183
 
@@ -15510,6 +15729,72 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
15510
15729
  }]
15511
15730
  }] });
15512
15731
 
15732
+ /**
15733
+ * Service that handling banks logic
15734
+ */
15735
+ class HoldingService extends RestService$1 {
15736
+ constructor() {
15737
+ super(...arguments);
15738
+ this.modelClass = Holding;
15739
+ this.collectionClass = Collection;
15740
+ this.endpointUri = 'holdings';
15741
+ this.isApiPlatform = true;
15742
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
15743
+ }
15744
+ }
15745
+ HoldingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15746
+ HoldingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, providedIn: 'root' });
15747
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, decorators: [{
15748
+ type: Injectable,
15749
+ args: [{
15750
+ providedIn: 'root'
15751
+ }]
15752
+ }] });
15753
+
15754
+ /**
15755
+ * Service that handling banks logic
15756
+ */
15757
+ class HoldingTypeService extends RestService$1 {
15758
+ constructor() {
15759
+ super(...arguments);
15760
+ this.modelClass = HoldingType;
15761
+ this.collectionClass = Collection;
15762
+ this.endpointUri = 'holding-types';
15763
+ this.isApiPlatform = true;
15764
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
15765
+ }
15766
+ }
15767
+ HoldingTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15768
+ HoldingTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, providedIn: 'root' });
15769
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, decorators: [{
15770
+ type: Injectable,
15771
+ args: [{
15772
+ providedIn: 'root'
15773
+ }]
15774
+ }] });
15775
+
15776
+ /**
15777
+ * Service that handling banks logic
15778
+ */
15779
+ class HoldingSaleService extends RestService$1 {
15780
+ constructor() {
15781
+ super(...arguments);
15782
+ this.modelClass = HoldingSale;
15783
+ this.collectionClass = Collection;
15784
+ this.endpointUri = 'holding-sales';
15785
+ this.isApiPlatform = true;
15786
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
15787
+ }
15788
+ }
15789
+ HoldingSaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15790
+ HoldingSaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, providedIn: 'root' });
15791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, decorators: [{
15792
+ type: Injectable,
15793
+ args: [{
15794
+ providedIn: 'root'
15795
+ }]
15796
+ }] });
15797
+
15513
15798
  /**
15514
15799
  * Enum list of all possible account setup items. Using with [ACCOUNT_SETUP_ITEMS]{@link ACCOUNT_SETUP_ITEMS}
15515
15800
  */
@@ -15522,6 +15807,7 @@ var AccountSetupItemsEnum;
15522
15807
  AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_LOGBOOK"] = 4] = "WORK_LOGBOOK";
15523
15808
  AccountSetupItemsEnum[AccountSetupItemsEnum["TRANSACTION"] = 5] = "TRANSACTION";
15524
15809
  AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BUSINESS"] = 6] = "SOLE_BUSINESS";
15810
+ AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDINGS"] = 7] = "HOLDINGS";
15525
15811
  })(AccountSetupItemsEnum || (AccountSetupItemsEnum = {}));
15526
15812
 
15527
15813
  /**
@@ -15533,14 +15819,14 @@ const ACCOUNT_SETUP_ITEMS = {
15533
15819
  description: 'One the most important steps is to add your salary or wage incomes so we can automatically calculate tax withheld and your forecasted tax position.',
15534
15820
  url: '/client/work-tank/forecasting',
15535
15821
  urlFragment: 'salaryProductTour',
15536
- clientIncomeTypes: ['salary']
15822
+ clientIncomeTypes: ['work']
15537
15823
  }),
15538
15824
  [AccountSetupItemsEnum.OTHER_INCOME]: plainToClass(AccountSetupItem, {
15539
15825
  title: 'Add any other expected incomes',
15540
15826
  description: 'To ensure an accurate tax position forecast, add estimates for any other income types, like dividends, interest, trusts, annuities, director payments etc.',
15541
15827
  url: '/client/work-tank/forecasting',
15542
15828
  urlFragment: 'otherIncomeProductTour',
15543
- clientIncomeTypes: ['dividends', 'other']
15829
+ clientIncomeTypes: ['work']
15544
15830
  }),
15545
15831
  [AccountSetupItemsEnum.PROPERTY]: plainToClass(AccountSetupItem, {
15546
15832
  title: 'Add your properties',
@@ -15554,6 +15840,7 @@ const ACCOUNT_SETUP_ITEMS = {
15554
15840
  description: 'Link banks to automatically feed your account transactions to save you time and money. Allocating live transactions ensures nothing is missed, lost or forgotten!',
15555
15841
  url: '/client/bank-feeds',
15556
15842
  urlFragment: 'bankAccountProductTour',
15843
+ clientIncomeTypes: ['work', 'property', 'sole']
15557
15844
  }),
15558
15845
  [AccountSetupItemsEnum.WORK_LOGBOOK]: plainToClass(AccountSetupItem, {
15559
15846
  title: 'Set up your logbook method',
@@ -15566,6 +15853,7 @@ const ACCOUNT_SETUP_ITEMS = {
15566
15853
  description: 'Select one or multiple transactions, the category from the dropdown and attach your receipt. It’s that simple to capture every possible deduction, and keep organised all throughout the year.',
15567
15854
  url: '/client/bank-feeds',
15568
15855
  urlFragment: 'allocationProductTour',
15856
+ clientIncomeTypes: ['work', 'property', 'sole']
15569
15857
  }),
15570
15858
  [AccountSetupItemsEnum.SOLE_BUSINESS]: plainToClass(AccountSetupItem, {
15571
15859
  title: 'Add your Sole Trader business',
@@ -15573,7 +15861,15 @@ const ACCOUNT_SETUP_ITEMS = {
15573
15861
  url: '/client/sole-tank',
15574
15862
  urlFragment: 'productTour',
15575
15863
  clientIncomeTypes: ['sole']
15576
- })
15864
+ }),
15865
+ [AccountSetupItemsEnum.HOLDINGS]: plainToClass(AccountSetupItem, {
15866
+ title: 'Add your holdings',
15867
+ description: 'Track your trades for shares, crypto and other assets in one place, and auto calculate CGT all year round!',
15868
+ url: '/client/holdings-tank',
15869
+ // @TODO Nicole waiting for product tour from
15870
+ urlFragment: 'productTour',
15871
+ clientIncomeTypes: ['holdings']
15872
+ }),
15577
15873
  };
15578
15874
 
15579
15875
  /**
@@ -15581,7 +15877,7 @@ const ACCOUNT_SETUP_ITEMS = {
15581
15877
  * Checks required steps and their completion
15582
15878
  */
15583
15879
  class AccountSetupService {
15584
- constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService) {
15880
+ constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService, holdingService) {
15585
15881
  this.clientIncomeTypesService = clientIncomeTypesService;
15586
15882
  this.propertyService = propertyService;
15587
15883
  this.incomeSourceService = incomeSourceService;
@@ -15590,6 +15886,7 @@ class AccountSetupService {
15590
15886
  this.vehicleClaimService = vehicleClaimService;
15591
15887
  this.transactionService = transactionService;
15592
15888
  this.soleBusinessService = soleBusinessService;
15889
+ this.holdingService = holdingService;
15593
15890
  this.cacheSubject = new ReplaySubject(1);
15594
15891
  }
15595
15892
  /**
@@ -15599,9 +15896,7 @@ class AccountSetupService {
15599
15896
  if (!this.cache) {
15600
15897
  this.cache = new AccountSetupItemCollection([]);
15601
15898
  this.clientIncomeTypesService.getSingle()
15602
- .pipe(
15603
- // we need account setup only when user selected at least one income type
15604
- filter((incomeTypes) => !!incomeTypes.length), mergeMap((incomeTypes) => {
15899
+ .pipe(mergeMap((incomeTypes) => {
15605
15900
  this.clientIncomeTypesId = incomeTypes.id;
15606
15901
  return this.createBatch(incomeTypes);
15607
15902
  }))
@@ -15658,12 +15953,18 @@ class AccountSetupService {
15658
15953
  if (incomeTypes.sole) {
15659
15954
  batch.push(this.create(AccountSetupItemsEnum.SOLE_BUSINESS, this.soleBusinessService.get()));
15660
15955
  }
15661
- // Bank feeds item is completed when user added at least one bank account (basiq or manual)
15662
- batch.push(this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.getArray()));
15663
- // Logbook item is completed when user has at least one vehicle claim with any method (kms or logbook)
15664
- batch.push(this.getLogbookItem());
15665
- // Allocation item is completed when user added at least one transaction allocation
15666
- batch.push(this.create(AccountSetupItemsEnum.TRANSACTION, this.transactionAllocationService.get()));
15956
+ // holdings item is completed when user added at least one holding
15957
+ if (incomeTypes.holdings) {
15958
+ batch.push(this.create(AccountSetupItemsEnum.HOLDINGS, this.holdingService.getArray()));
15959
+ }
15960
+ if (incomeTypes.sole || incomeTypes.property || incomeTypes.work) {
15961
+ // Bank feeds item is completed when user added at least one bank account (basiq or manual)
15962
+ batch.push(this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.getArray()));
15963
+ // Logbook item is completed when user has at least one vehicle claim with any method (kms or logbook)
15964
+ batch.push(this.getLogbookItem());
15965
+ // Allocation item is completed when user added at least one transaction allocation
15966
+ batch.push(this.create(AccountSetupItemsEnum.TRANSACTION, this.transactionAllocationService.get()));
15967
+ }
15667
15968
  return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items)));
15668
15969
  }
15669
15970
  /**
@@ -15694,14 +15995,14 @@ class AccountSetupService {
15694
15995
  }));
15695
15996
  }
15696
15997
  }
15697
- AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, deps: [{ token: ClientIncomeTypesService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankAccountService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: TransactionService }, { token: SoleBusinessService }], target: i0.ɵɵFactoryTarget.Injectable });
15998
+ AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, deps: [{ token: ClientIncomeTypesService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankAccountService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: TransactionService }, { token: SoleBusinessService }, { token: HoldingService }], target: i0.ɵɵFactoryTarget.Injectable });
15698
15999
  AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
15699
16000
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, decorators: [{
15700
16001
  type: Injectable,
15701
16002
  args: [{
15702
16003
  providedIn: 'root'
15703
16004
  }]
15704
- }], ctorParameters: function () { return [{ type: ClientIncomeTypesService }, { type: PropertyService }, { type: IncomeSourceService }, { type: BankAccountService }, { type: TransactionAllocationService }, { type: VehicleClaimService }, { type: TransactionService }, { type: SoleBusinessService }]; } });
16005
+ }], ctorParameters: function () { return [{ type: ClientIncomeTypesService }, { type: PropertyService }, { type: IncomeSourceService }, { type: BankAccountService }, { type: TransactionAllocationService }, { type: VehicleClaimService }, { type: TransactionService }, { type: SoleBusinessService }, { type: HoldingService }]; } });
15705
16006
 
15706
16007
  /**
15707
16008
  * Service to work with Rewardful (affiliate program) API
@@ -17906,7 +18207,7 @@ class ClientIncomeTypesForm extends AbstractForm {
17906
18207
  work: new UntypedFormControl(clientIncomeTypes.work || false),
17907
18208
  property: new UntypedFormControl(clientIncomeTypes.property || false),
17908
18209
  sole: new UntypedFormControl(clientIncomeTypes.sole || false),
17909
- holdings: new UntypedFormControl({ value: clientIncomeTypes.holdings || false, disabled: true })
18210
+ holdings: new UntypedFormControl(clientIncomeTypes.holdings || false)
17910
18211
  }, clientIncomeTypes, atLeastOneCheckedValidator());
17911
18212
  this.clientIncomeTypes = clientIncomeTypes;
17912
18213
  }
@@ -18595,6 +18896,22 @@ class MyTaxIncomeStatementsForm extends AbstractForm {
18595
18896
  value: incomeStatements.attributablePsiTransactionsTotalTax,
18596
18897
  disabled: true
18597
18898
  }),
18899
+ fhssTransactionsTotalAmount: new UntypedFormControl({
18900
+ value: incomeStatements.fhssTransactionsTotalAmount,
18901
+ disabled: true
18902
+ }),
18903
+ fhssTransactionsTotalTax: new UntypedFormControl({
18904
+ value: incomeStatements.fhssTransactionsTotalTax,
18905
+ disabled: true
18906
+ }),
18907
+ australianSpecialPaymentsTotalAmount: new UntypedFormControl({
18908
+ value: incomeStatements.australianSpecialPaymentsTotalAmount,
18909
+ disabled: true
18910
+ }),
18911
+ australianSpecialPaymentsTotalTax: new UntypedFormControl({
18912
+ value: incomeStatements.australianSpecialPaymentsTotalTax,
18913
+ disabled: true
18914
+ }),
18598
18915
  });
18599
18916
  this.incomeStatements = incomeStatements;
18600
18917
  }
@@ -19486,5 +19803,5 @@ class DepreciationForm extends TransactionBaseForm {
19486
19803
  * Generated bundle index. Do not edit.
19487
19804
  */
19488
19805
 
19489
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualFrequencyEnum, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqService, BasiqToken, BasiqTokenService, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReceiptService, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, Firm, FirmService, FirmTypeEnum, FormValidationsEnum, GoogleService, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, ReceiptService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, StripePromoCode, SubscriptionItemCollection, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionReceipt, TransactionReceiptService, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserInviteForm, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, minDateValidator, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate, toArray };
19806
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualFrequencyEnum, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqService, BasiqToken, BasiqTokenService, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReceiptService, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, Firm, FirmService, FirmTypeEnum, FormValidationsEnum, GoogleService, HeaderTitleService, Holding, HoldingSale, HoldingSaleService, HoldingService, HoldingType, HoldingTypeService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, ReceiptService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, StripePromoCode, SubscriptionItemCollection, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionReceipt, TransactionReceiptService, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserInviteForm, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, minDateValidator, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate, toArray };
19490
19807
  //# sourceMappingURL=taxtank-core.mjs.map