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 } 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';
@@ -360,6 +360,7 @@ var TankTypeEnum;
360
360
  TankTypeEnum[TankTypeEnum["WORK"] = 2] = "WORK";
361
361
  TankTypeEnum[TankTypeEnum["OTHER"] = 3] = "OTHER";
362
362
  TankTypeEnum[TankTypeEnum["SOLE"] = 4] = "SOLE";
363
+ TankTypeEnum[TankTypeEnum["HOLDING"] = 5] = "HOLDING";
363
364
  })(TankTypeEnum || (TankTypeEnum = {}));
364
365
 
365
366
  class TransactionBase extends ObservableModel {
@@ -374,6 +375,8 @@ class TransactionBase extends ObservableModel {
374
375
  return TankTypeEnum.WORK;
375
376
  case this.isSoleTank():
376
377
  return TankTypeEnum.SOLE;
378
+ case this.isHoldingTank():
379
+ return TankTypeEnum.HOLDING;
377
380
  default:
378
381
  return TankTypeEnum.OTHER;
379
382
  }
@@ -412,6 +415,14 @@ class TransactionBase extends ObservableModel {
412
415
  }
413
416
  return !!this.business;
414
417
  }
418
+ isHoldingTank() {
419
+ // chart accounts may be empty for new instances
420
+ if (this.chartAccounts) {
421
+ return CHART_ACCOUNTS_CATEGORIES.holding.includes(this.chartAccounts?.category);
422
+ }
423
+ // @TODO Alex we need another way to distinguish work/holding
424
+ return !this.isPropertyTank() && !this.isSoleTank();
425
+ }
415
426
  get amountWithGst() {
416
427
  return this.isGST ? +(Math.round(this.amount * ChartAccounts.GSTCoefficient)).toFixed(2) : this.amount;
417
428
  }
@@ -431,6 +442,9 @@ class TransactionBase extends ObservableModel {
431
442
  return this.grossAmount * this.claimRatio;
432
443
  }
433
444
  }
445
+ __decorate([
446
+ Transform(({ value }) => +value)
447
+ ], TransactionBase.prototype, "amount", void 0);
434
448
  __decorate([
435
449
  Exclude({ toPlainOnly: true }),
436
450
  Type(() => Object),
@@ -688,6 +702,15 @@ class ServiceNotification extends AbstractModel {
688
702
  class TaxCalculation extends AbstractModel {
689
703
  }
690
704
 
705
+ let Holding$1 = class Holding {
706
+ };
707
+
708
+ let HoldingType$1 = class HoldingType {
709
+ };
710
+
711
+ let HoldingSale$1 = class HoldingSale {
712
+ };
713
+
691
714
  /**
692
715
  * access token, needed to access basiq connect ui (https://github.com/basiqio/basiq-connect-ui)
693
716
  */
@@ -1349,6 +1372,7 @@ var UserRolesEnum;
1349
1372
  UserRolesEnum["WORK_TANK"] = "ROLE_USER_WORK";
1350
1373
  UserRolesEnum["PROPERTY_TANK"] = "ROLE_USER_PROPERTY";
1351
1374
  UserRolesEnum["SOLE_TANK"] = "ROLE_USER_SOLE";
1375
+ UserRolesEnum["HOLDING_TANK"] = "ROLE_USER_HOLDING";
1352
1376
  UserRolesEnum["SWITCH_USER"] = "ROLE_PREVIOUS_ADMIN";
1353
1377
  })(UserRolesEnum || (UserRolesEnum = {}));
1354
1378
 
@@ -1425,6 +1449,7 @@ var ServiceProductIdEnum;
1425
1449
  ServiceProductIdEnum[ServiceProductIdEnum["WORK_TANK"] = 4] = "WORK_TANK";
1426
1450
  ServiceProductIdEnum[ServiceProductIdEnum["PROPERTIES"] = 5] = "PROPERTIES";
1427
1451
  ServiceProductIdEnum[ServiceProductIdEnum["SOLE_TANK"] = 6] = "SOLE_TANK";
1452
+ ServiceProductIdEnum[ServiceProductIdEnum["HOLDINGS_TANK"] = 7] = "HOLDINGS_TANK";
1428
1453
  })(ServiceProductIdEnum || (ServiceProductIdEnum = {}));
1429
1454
 
1430
1455
  class ServiceProduct extends ServiceProduct$1 {
@@ -1437,6 +1462,9 @@ class ServiceProduct extends ServiceProduct$1 {
1437
1462
  isSoleTank() {
1438
1463
  return this.id === ServiceProductIdEnum.SOLE_TANK;
1439
1464
  }
1465
+ isHoldingsTank() {
1466
+ return this.id === ServiceProductIdEnum.HOLDINGS_TANK;
1467
+ }
1440
1468
  isArchived() {
1441
1469
  return this.status === ServiceProductStatusEnum.ARCHIVED;
1442
1470
  }
@@ -1857,6 +1885,8 @@ var ChartAccountsCategoryEnum;
1857
1885
  ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_INCOME"] = 12] = "SOLE_INCOME";
1858
1886
  ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_EXPENSE"] = 13] = "SOLE_EXPENSE";
1859
1887
  ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_DEPRECIATION"] = 14] = "SOLE_DEPRECIATION";
1888
+ ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_EXPENSE"] = 15] = "HOLDING_EXPENSE";
1889
+ ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_INCOME"] = 16] = "HOLDING_INCOME";
1860
1890
  })(ChartAccountsCategoryEnum || (ChartAccountsCategoryEnum = {}));
1861
1891
 
1862
1892
  var ChartAccountsEtpEnum;
@@ -2034,6 +2064,8 @@ var ChartAccountsListEnum;
2034
2064
  ChartAccountsListEnum[ChartAccountsListEnum["PSI_OTHER"] = 858] = "PSI_OTHER";
2035
2065
  ChartAccountsListEnum[ChartAccountsListEnum["PSI_DEDUCTION_ASSOCIATES"] = 859] = "PSI_DEDUCTION_ASSOCIATES";
2036
2066
  ChartAccountsListEnum[ChartAccountsListEnum["PSI_DEDUCTION_OTHER"] = 860] = "PSI_DEDUCTION_OTHER";
2067
+ ChartAccountsListEnum[ChartAccountsListEnum["AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS"] = 871] = "AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS";
2068
+ ChartAccountsListEnum[ChartAccountsListEnum["FHSS"] = 872] = "FHSS";
2037
2069
  })(ChartAccountsListEnum || (ChartAccountsListEnum = {}));
2038
2070
 
2039
2071
  var ChartAccountsMetaFieldListEnum;
@@ -2163,6 +2195,7 @@ const CHART_ACCOUNTS_CATEGORIES = {
2163
2195
  ChartAccountsCategoryEnum.OTHER_INCOME,
2164
2196
  ChartAccountsCategoryEnum.PERSONAL_INCOME,
2165
2197
  ChartAccountsCategoryEnum.SOLE_INCOME,
2198
+ ChartAccountsCategoryEnum.HOLDING_INCOME,
2166
2199
  ],
2167
2200
  expense: [
2168
2201
  ChartAccountsCategoryEnum.PROPERTY_EXPENSE,
@@ -2173,7 +2206,8 @@ const CHART_ACCOUNTS_CATEGORIES = {
2173
2206
  ChartAccountsCategoryEnum.OTHER_EXPENSE,
2174
2207
  ChartAccountsCategoryEnum.PERSONAL_EXPENSE,
2175
2208
  ChartAccountsCategoryEnum.SOLE_EXPENSE,
2176
- ChartAccountsCategoryEnum.SOLE_DEPRECIATION
2209
+ ChartAccountsCategoryEnum.SOLE_DEPRECIATION,
2210
+ ChartAccountsCategoryEnum.HOLDING_EXPENSE,
2177
2211
  ],
2178
2212
  property: [
2179
2213
  ChartAccountsCategoryEnum.PROPERTY_EXPENSE,
@@ -2193,6 +2227,10 @@ const CHART_ACCOUNTS_CATEGORIES = {
2193
2227
  ChartAccountsCategoryEnum.SOLE_EXPENSE,
2194
2228
  ChartAccountsCategoryEnum.SOLE_DEPRECIATION
2195
2229
  ],
2230
+ holding: [
2231
+ ChartAccountsCategoryEnum.HOLDING_EXPENSE,
2232
+ ChartAccountsCategoryEnum.HOLDING_INCOME
2233
+ ],
2196
2234
  personal: [
2197
2235
  ChartAccountsCategoryEnum.PERSONAL_EXPENSE,
2198
2236
  ChartAccountsCategoryEnum.PERSONAL_INCOME
@@ -2220,6 +2258,12 @@ const CHART_ACCOUNTS_CATEGORIES = {
2220
2258
  soleDepreciation: [
2221
2259
  ChartAccountsCategoryEnum.SOLE_DEPRECIATION,
2222
2260
  ],
2261
+ holdingExpense: [
2262
+ ChartAccountsCategoryEnum.HOLDING_EXPENSE,
2263
+ ],
2264
+ holdingIncome: [
2265
+ ChartAccountsCategoryEnum.HOLDING_INCOME,
2266
+ ],
2223
2267
  workTankHeader: [
2224
2268
  ChartAccountsCategoryEnum.WORK_INCOME,
2225
2269
  ChartAccountsCategoryEnum.OTHER_INCOME,
@@ -2243,6 +2287,7 @@ const CHART_ACCOUNTS_CATEGORIES = {
2243
2287
  ChartAccountsCategoryEnum.PROPERTY_INCOME,
2244
2288
  ChartAccountsCategoryEnum.WORK_INCOME,
2245
2289
  ChartAccountsCategoryEnum.OTHER_INCOME,
2290
+ ChartAccountsCategoryEnum.HOLDING_INCOME,
2246
2291
  ChartAccountsCategoryEnum.PERSONAL_INCOME,
2247
2292
  ChartAccountsCategoryEnum.PROPERTY_EXPENSE,
2248
2293
  ChartAccountsCategoryEnum.PROPERTY_DEPRECIATION,
@@ -2250,6 +2295,7 @@ const CHART_ACCOUNTS_CATEGORIES = {
2250
2295
  ChartAccountsCategoryEnum.WORK_DEPRECIATION,
2251
2296
  ChartAccountsCategoryEnum.WORK_EXPENSE,
2252
2297
  ChartAccountsCategoryEnum.OTHER_EXPENSE,
2298
+ ChartAccountsCategoryEnum.HOLDING_EXPENSE,
2253
2299
  ChartAccountsCategoryEnum.PERSONAL_EXPENSE
2254
2300
  ]
2255
2301
  };
@@ -3024,6 +3070,9 @@ class ChartAccounts extends ChartAccounts$1 {
3024
3070
  isTaxable() {
3025
3071
  return !this.isNRAS() && this.isWorkIncome();
3026
3072
  }
3073
+ isTransfer() {
3074
+ return this.id === ChartAccountsListEnum.TRANSFER;
3075
+ }
3027
3076
  }
3028
3077
  /**
3029
3078
  * Australian GST percent value (VAT)
@@ -3063,6 +3112,36 @@ let AllocationRuleCondition$1 = class AllocationRuleCondition extends AbstractMo
3063
3112
  };
3064
3113
 
3065
3114
  class AllocationRuleCondition extends AllocationRuleCondition$1 {
3115
+ matchBankTransaction(bankTransaction) {
3116
+ return this.field === AllocationRuleConditionFieldEnum.AMOUNT ? this.matchBankTransactionByAmount(bankTransaction) : this.matchBankTransactionByDescription(bankTransaction);
3117
+ }
3118
+ matchBankTransactionByAmount(bankTransaction) {
3119
+ // Amount should be compared as number
3120
+ const value = +this.value;
3121
+ switch (this.comparisonOperator) {
3122
+ case AllocationRuleConditionComparisonOperatorEnum.EQUALS:
3123
+ return bankTransaction.amount === value;
3124
+ case AllocationRuleConditionComparisonOperatorEnum.EQUALS_OR_LESS:
3125
+ return bankTransaction.amount <= value;
3126
+ case AllocationRuleConditionComparisonOperatorEnum.EQUALS_OR_GREATER:
3127
+ return bankTransaction.amount >= value;
3128
+ }
3129
+ return false;
3130
+ }
3131
+ matchBankTransactionByDescription(bankTransaction) {
3132
+ // Prepare value and description for comparison
3133
+ const description = bankTransaction.description.toLowerCase();
3134
+ const value = this.value.trim().toLowerCase();
3135
+ switch (this.comparisonOperator) {
3136
+ case AllocationRuleConditionComparisonOperatorEnum.EQUALS:
3137
+ return description === value;
3138
+ case AllocationRuleConditionComparisonOperatorEnum.CONTAINS:
3139
+ return description.includes(value);
3140
+ case AllocationRuleConditionComparisonOperatorEnum.STARTS:
3141
+ return description.startsWith(value);
3142
+ }
3143
+ return false;
3144
+ }
3066
3145
  }
3067
3146
 
3068
3147
  let AllocationRuleTransaction$1 = class AllocationRuleTransaction extends TransactionBase {
@@ -3239,6 +3318,12 @@ __decorate([
3239
3318
  Type(() => Date)
3240
3319
  ], IncomeSource.prototype, "dateTo", void 0);
3241
3320
 
3321
+ var TransactionSourceEnum;
3322
+ (function (TransactionSourceEnum) {
3323
+ TransactionSourceEnum[TransactionSourceEnum["CASH"] = 1] = "CASH";
3324
+ TransactionSourceEnum[TransactionSourceEnum["BANK_TRANSACTION"] = 2] = "BANK_TRANSACTION";
3325
+ })(TransactionSourceEnum || (TransactionSourceEnum = {}));
3326
+
3242
3327
  class AllocationRuleTransaction extends AllocationRuleTransaction$1 {
3243
3328
  calculateClaimPercent() {
3244
3329
  if (!this.chartAccounts) {
@@ -3253,26 +3338,63 @@ class AllocationRuleTransaction extends AllocationRuleTransaction$1 {
3253
3338
  }
3254
3339
  return claimPercent;
3255
3340
  }
3341
+ /**
3342
+ * Create Transaction instance based on passed bank transaction and rule transaction
3343
+ */
3344
+ toTransaction(bankTransaction) {
3345
+ return plainToClass(Transaction, {
3346
+ amount: bankTransaction.amount,
3347
+ description: bankTransaction.description,
3348
+ type: bankTransaction.type,
3349
+ date: bankTransaction.date,
3350
+ source: TransactionSourceEnum.BANK_TRANSACTION,
3351
+ tax: this.tax,
3352
+ claimPercent: this.claimPercent,
3353
+ isGST: this.isGST,
3354
+ chartAccounts: this.chartAccounts,
3355
+ property: this.property,
3356
+ loan: this.loan,
3357
+ incomeSource: this.incomeSource,
3358
+ metaFields: this.metaFields,
3359
+ parentTransaction: this.parentTransaction,
3360
+ childTransactions: this.childTransactions,
3361
+ business: this.business,
3362
+ operation: TransactionOperationEnum.ALLOCATE,
3363
+ allocations: [TransactionAllocation.create(bankTransaction.amount, bankTransaction)],
3364
+ });
3365
+ }
3256
3366
  }
3257
3367
  __decorate([
3258
- Type(() => ChartAccounts),
3259
- Transform(({ value }) => { return { id: value.id }; }, { toPlainOnly: true })
3368
+ Type(() => ChartAccounts)
3369
+ // @TODO Alex: Create custom decorator for this transform
3370
+ ,
3371
+ Transform(({ value }) => {
3372
+ return { id: value.id };
3373
+ }, { toPlainOnly: true })
3260
3374
  ], AllocationRuleTransaction.prototype, "chartAccounts", void 0);
3261
3375
  __decorate([
3262
3376
  Type(() => Property),
3263
- Transform(({ value }) => { return value ? { id: value.id } : null; }, { toPlainOnly: true })
3377
+ Transform(({ value }) => {
3378
+ return value ? { id: value.id } : null;
3379
+ }, { toPlainOnly: true })
3264
3380
  ], AllocationRuleTransaction.prototype, "property", void 0);
3265
3381
  __decorate([
3266
3382
  Type(() => Loan),
3267
- Transform(({ value }) => { return value ? { id: value.id } : null; }, { toPlainOnly: true })
3383
+ Transform(({ value }) => {
3384
+ return value ? { id: value.id } : null;
3385
+ }, { toPlainOnly: true })
3268
3386
  ], AllocationRuleTransaction.prototype, "loan", void 0);
3269
3387
  __decorate([
3270
3388
  Type(() => IncomeSource),
3271
- Transform(({ value }) => { return value ? { id: value.id } : null; }, { toPlainOnly: true })
3389
+ Transform(({ value }) => {
3390
+ return value ? { id: value.id } : null;
3391
+ }, { toPlainOnly: true })
3272
3392
  ], AllocationRuleTransaction.prototype, "incomeSource", void 0);
3273
3393
  __decorate([
3274
3394
  Type(() => SoleBusiness),
3275
- Transform(({ value }) => { return value ? { id: value.id } : null; }, { toPlainOnly: true })
3395
+ Transform(({ value }) => {
3396
+ return value ? { id: value.id } : null;
3397
+ }, { toPlainOnly: true })
3276
3398
  ], AllocationRuleTransaction.prototype, "business", void 0);
3277
3399
  __decorate([
3278
3400
  Type(() => AllocationRuleTransactionMetaField)
@@ -3342,6 +3464,65 @@ class AllocationRule extends AllocationRule$1 {
3342
3464
  isSoleIncome() {
3343
3465
  return this.isIncome() && this.isSoleTank();
3344
3466
  }
3467
+ /**
3468
+ * @TODO Alex: move to collection
3469
+ */
3470
+ matchBankTransaction(bankTransaction) {
3471
+ return this.conditionOperator === AllocationRuleConditionOperatorEnum.AND ? this.checkAnd(bankTransaction) : this.checkOr(bankTransaction);
3472
+ }
3473
+ createTransaction(bankTransaction) {
3474
+ if (this.isTransfer()) {
3475
+ const transaction = bankTransaction.toTransaction();
3476
+ transaction.operation = TransactionOperationEnum.TRANSFER;
3477
+ transaction.chartAccounts = plainToClass(ChartAccounts, { id: ChartAccountsListEnum.TRANSFER });
3478
+ return transaction;
3479
+ }
3480
+ return this.transaction.toTransaction(bankTransaction);
3481
+ }
3482
+ /**
3483
+ * Rule is matched when all conditions matched
3484
+ */
3485
+ checkAnd(bankTransaction) {
3486
+ for (let condition of this.conditions) {
3487
+ if (!condition.matchBankTransaction(bankTransaction)) {
3488
+ return false;
3489
+ }
3490
+ }
3491
+ return true;
3492
+ }
3493
+ /**
3494
+ * Rule is matched when at least one condition matched
3495
+ */
3496
+ checkOr(bankTransaction) {
3497
+ for (let condition of this.conditions) {
3498
+ if (condition.matchBankTransaction(bankTransaction)) {
3499
+ return true;
3500
+ }
3501
+ }
3502
+ return false;
3503
+ }
3504
+ /**
3505
+ * Create allocation rule based on bank transaction (just prefill rule fields with bank transaction values)
3506
+ */
3507
+ static fromBankTransaction(bankTransaction) {
3508
+ return plainToClass(AllocationRule, {
3509
+ type: bankTransaction.isDebit() ? AllocationRuleTypeEnum.EXPENSE : AllocationRuleTypeEnum.INCOME,
3510
+ bankAccount: bankTransaction.bankAccount,
3511
+ conditionOperator: AllocationRuleConditionOperatorEnum.AND,
3512
+ conditions: [
3513
+ plainToClass(AllocationRuleCondition, {
3514
+ field: AllocationRuleConditionFieldEnum.AMOUNT,
3515
+ comparisonOperator: AllocationRuleConditionComparisonOperatorEnum.EQUALS,
3516
+ value: bankTransaction.amount
3517
+ }),
3518
+ plainToClass(AllocationRuleCondition, {
3519
+ field: AllocationRuleConditionFieldEnum.DESCRIPTION,
3520
+ comparisonOperator: AllocationRuleConditionComparisonOperatorEnum.EQUALS,
3521
+ value: bankTransaction.description
3522
+ })
3523
+ ]
3524
+ });
3525
+ }
3345
3526
  }
3346
3527
  __decorate([
3347
3528
  Type(() => BankAccount),
@@ -3372,12 +3553,6 @@ var TransactionTypeEnum;
3372
3553
  TransactionTypeEnum[TransactionTypeEnum["CREDIT"] = 2] = "CREDIT";
3373
3554
  })(TransactionTypeEnum || (TransactionTypeEnum = {}));
3374
3555
 
3375
- var TransactionSourceEnum;
3376
- (function (TransactionSourceEnum) {
3377
- TransactionSourceEnum[TransactionSourceEnum["CASH"] = 1] = "CASH";
3378
- TransactionSourceEnum[TransactionSourceEnum["BANK_TRANSACTION"] = 2] = "BANK_TRANSACTION";
3379
- })(TransactionSourceEnum || (TransactionSourceEnum = {}));
3380
-
3381
3556
  var TaxExemptionEnum;
3382
3557
  (function (TaxExemptionEnum) {
3383
3558
  TaxExemptionEnum[TaxExemptionEnum["ONE_YEAR_RULE"] = 1] = "ONE_YEAR_RULE";
@@ -4210,11 +4385,13 @@ const USER_ROLES = {
4210
4385
  ROLE_EMPLOYEE: [UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
4211
4386
  ROLE_ACCOUNTANT: [UserRolesEnum.ACCOUNTANT],
4212
4387
  ROLE_ADVISOR: [UserRolesEnum.ADVISOR],
4388
+ // @TODO makes no sense, these roles can't be hierarchical
4213
4389
  ROLE_CLIENT: [UserRolesEnum.CLIENT],
4214
4390
  ROLE_USER_SUBSCRIPTION: [UserRolesEnum.SUBSCRIPTION],
4215
4391
  ROLE_USER_WORK: [UserRolesEnum.WORK_TANK],
4216
4392
  ROLE_USER_PROPERTY: [UserRolesEnum.PROPERTY_TANK],
4217
4393
  ROLE_USER_SOLE: [UserRolesEnum.SOLE_TANK],
4394
+ ROLE_USER_HOLDING: [UserRolesEnum.HOLDING_TANK],
4218
4395
  };
4219
4396
 
4220
4397
  /**
@@ -4914,6 +5091,9 @@ __decorate([
4914
5091
  __decorate([
4915
5092
  Type(() => SoleInvoiceItem)
4916
5093
  ], Transaction.prototype, "soleInvoiceItem", void 0);
5094
+ __decorate([
5095
+ Transform(({ value }) => +value)
5096
+ ], Transaction.prototype, "tax", void 0);
4917
5097
 
4918
5098
  var TransactionCategoryEnum;
4919
5099
  (function (TransactionCategoryEnum) {
@@ -6320,6 +6500,18 @@ class AllocationRuleCollection extends Collection {
6320
6500
  getTransfer() {
6321
6501
  return this.filterBy('type', AllocationRuleTypeEnum.TRANSFER);
6322
6502
  }
6503
+ /**
6504
+ * Get dictionary where key is bank transaction id and value is collection of matched rules.
6505
+ * Group by this way for better performance
6506
+ * @TODO Alex: break bank transactions by pagination in case of bad performance
6507
+ */
6508
+ groupByBankTransaction(bankTransactions) {
6509
+ const rulesByBankTransaction = new CollectionDictionary(new AllocationRuleCollection([]));
6510
+ bankTransactions.toArray().forEach((bankTransaction) => {
6511
+ rulesByBankTransaction.add(bankTransaction.id, this.filter((rule) => rule.matchBankTransaction(bankTransaction)));
6512
+ });
6513
+ return rulesByBankTransaction;
6514
+ }
6323
6515
  }
6324
6516
 
6325
6517
  class AccountSetupItemCollection extends Collection {
@@ -8054,6 +8246,37 @@ __decorate([
8054
8246
  Type(() => Document)
8055
8247
  ], DocumentFolder.prototype, "documents", void 0);
8056
8248
 
8249
+ class HoldingType extends AbstractModel {
8250
+ }
8251
+ __decorate([
8252
+ Type(() => User)
8253
+ ], HoldingType.prototype, "user", void 0);
8254
+
8255
+ class HoldingSale extends AbstractModel {
8256
+ }
8257
+ __decorate([
8258
+ Type(() => AppFile)
8259
+ ], HoldingSale.prototype, "file", void 0);
8260
+
8261
+ class Holding extends AbstractModel {
8262
+ }
8263
+ __decorate([
8264
+ Type(() => Date)
8265
+ ], Holding.prototype, "date", void 0);
8266
+ __decorate([
8267
+ Type(() => User)
8268
+ ], Holding.prototype, "user", void 0);
8269
+ __decorate([
8270
+ Type(() => HoldingType)
8271
+ ], Holding.prototype, "type", void 0);
8272
+ __decorate([
8273
+ Type(() => AppFile)
8274
+ ], Holding.prototype, "file", void 0);
8275
+ __decorate([
8276
+ Type(() => HoldingSale),
8277
+ Transform(({ value }) => new Collection(value))
8278
+ ], Holding.prototype, "sales", void 0);
8279
+
8057
8280
  const NAME_TOKEN = 'token';
8058
8281
  const NAME_REFRESH_TOKEN = 'refreshToken';
8059
8282
  class JwtService extends JwtHelperService {
@@ -10091,20 +10314,6 @@ class Badge extends AbstractModel {
10091
10314
  }
10092
10315
 
10093
10316
  class ClientIncomeTypes extends ClientIncomeTypes$1 {
10094
- constructor() {
10095
- super(...arguments);
10096
- this.salary = false;
10097
- this.property = false;
10098
- this.sole = false;
10099
- this.dividends = false;
10100
- this.other = false;
10101
- }
10102
- /**
10103
- * Get count of selected income types
10104
- */
10105
- get length() {
10106
- return Object.values(this).filter((value) => typeof value === 'boolean' && value).length;
10107
- }
10108
10317
  }
10109
10318
 
10110
10319
  class ClientInvite extends ClientInvite$1 {
@@ -10893,6 +11102,15 @@ class MyTaxIncomeStatements {
10893
11102
  .get(ChartAccountsListEnum.ATTRIBUTABLE_PSI).sumBy('grossAmount');
10894
11103
  this.attributablePsiTransactionsTotalTax = this.transactionsByChartAccounts
10895
11104
  .get(ChartAccountsListEnum.ATTRIBUTABLE_PSI).sumBy('tax');
11105
+ this.fhssTransactionsTotalAmount = this.transactionsByChartAccounts
11106
+ .get(ChartAccountsListEnum.FHSS).sumBy('grossAmount');
11107
+ this.fhssTransactionsTotalTax = this.transactionsByChartAccounts
11108
+ .get(ChartAccountsListEnum.FHSS).sumBy('tax');
11109
+ // Australian Government Special Payments
11110
+ this.australianSpecialPaymentsTotalAmount = this.transactionsByChartAccounts
11111
+ .get(ChartAccountsListEnum.AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS).sumBy('grossAmount');
11112
+ this.australianSpecialPaymentsTotalTax = this.transactionsByChartAccounts
11113
+ .get(ChartAccountsListEnum.AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS).sumBy('tax');
10896
11114
  }
10897
11115
  }
10898
11116
 
@@ -15384,6 +15602,72 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
15384
15602
  }]
15385
15603
  }] });
15386
15604
 
15605
+ /**
15606
+ * Service that handling banks logic
15607
+ */
15608
+ class HoldingService extends RestService$1 {
15609
+ constructor() {
15610
+ super(...arguments);
15611
+ this.modelClass = Holding;
15612
+ this.collectionClass = Collection;
15613
+ this.endpointUri = 'holdings';
15614
+ this.isApiPlatform = true;
15615
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
15616
+ }
15617
+ }
15618
+ HoldingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15619
+ HoldingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, providedIn: 'root' });
15620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, decorators: [{
15621
+ type: Injectable,
15622
+ args: [{
15623
+ providedIn: 'root'
15624
+ }]
15625
+ }] });
15626
+
15627
+ /**
15628
+ * Service that handling banks logic
15629
+ */
15630
+ class HoldingTypeService extends RestService$1 {
15631
+ constructor() {
15632
+ super(...arguments);
15633
+ this.modelClass = HoldingType;
15634
+ this.collectionClass = Collection;
15635
+ this.endpointUri = 'holding-types';
15636
+ this.isApiPlatform = true;
15637
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
15638
+ }
15639
+ }
15640
+ HoldingTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15641
+ HoldingTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, providedIn: 'root' });
15642
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, decorators: [{
15643
+ type: Injectable,
15644
+ args: [{
15645
+ providedIn: 'root'
15646
+ }]
15647
+ }] });
15648
+
15649
+ /**
15650
+ * Service that handling banks logic
15651
+ */
15652
+ class HoldingSaleService extends RestService$1 {
15653
+ constructor() {
15654
+ super(...arguments);
15655
+ this.modelClass = HoldingSale;
15656
+ this.collectionClass = Collection;
15657
+ this.endpointUri = 'holding-sales';
15658
+ this.isApiPlatform = true;
15659
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
15660
+ }
15661
+ }
15662
+ HoldingSaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15663
+ HoldingSaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, providedIn: 'root' });
15664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, decorators: [{
15665
+ type: Injectable,
15666
+ args: [{
15667
+ providedIn: 'root'
15668
+ }]
15669
+ }] });
15670
+
15387
15671
  /**
15388
15672
  * Enum list of all possible account setup items. Using with [ACCOUNT_SETUP_ITEMS]{@link ACCOUNT_SETUP_ITEMS}
15389
15673
  */
@@ -15396,6 +15680,7 @@ var AccountSetupItemsEnum;
15396
15680
  AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_LOGBOOK"] = 4] = "WORK_LOGBOOK";
15397
15681
  AccountSetupItemsEnum[AccountSetupItemsEnum["TRANSACTION"] = 5] = "TRANSACTION";
15398
15682
  AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BUSINESS"] = 6] = "SOLE_BUSINESS";
15683
+ AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDINGS"] = 7] = "HOLDINGS";
15399
15684
  })(AccountSetupItemsEnum || (AccountSetupItemsEnum = {}));
15400
15685
 
15401
15686
  /**
@@ -15407,14 +15692,14 @@ const ACCOUNT_SETUP_ITEMS = {
15407
15692
  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.',
15408
15693
  url: '/client/work-tank/forecasting',
15409
15694
  urlFragment: 'salaryProductTour',
15410
- clientIncomeTypes: ['salary']
15695
+ clientIncomeTypes: ['work']
15411
15696
  }),
15412
15697
  [AccountSetupItemsEnum.OTHER_INCOME]: plainToClass(AccountSetupItem, {
15413
15698
  title: 'Add any other expected incomes',
15414
15699
  description: 'To ensure an accurate tax position forecast, add estimates for any other income types, like dividends, interest, trusts, annuities, director payments etc.',
15415
15700
  url: '/client/work-tank/forecasting',
15416
15701
  urlFragment: 'otherIncomeProductTour',
15417
- clientIncomeTypes: ['dividends', 'other']
15702
+ clientIncomeTypes: ['work']
15418
15703
  }),
15419
15704
  [AccountSetupItemsEnum.PROPERTY]: plainToClass(AccountSetupItem, {
15420
15705
  title: 'Add your properties',
@@ -15428,6 +15713,7 @@ const ACCOUNT_SETUP_ITEMS = {
15428
15713
  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!',
15429
15714
  url: '/client/bank-feeds',
15430
15715
  urlFragment: 'bankAccountProductTour',
15716
+ clientIncomeTypes: ['work', 'property', 'sole']
15431
15717
  }),
15432
15718
  [AccountSetupItemsEnum.WORK_LOGBOOK]: plainToClass(AccountSetupItem, {
15433
15719
  title: 'Set up your logbook method',
@@ -15440,6 +15726,7 @@ const ACCOUNT_SETUP_ITEMS = {
15440
15726
  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.',
15441
15727
  url: '/client/bank-feeds',
15442
15728
  urlFragment: 'allocationProductTour',
15729
+ clientIncomeTypes: ['work', 'property', 'sole']
15443
15730
  }),
15444
15731
  [AccountSetupItemsEnum.SOLE_BUSINESS]: plainToClass(AccountSetupItem, {
15445
15732
  title: 'Add your Sole Trader business',
@@ -15447,7 +15734,15 @@ const ACCOUNT_SETUP_ITEMS = {
15447
15734
  url: '/client/sole-tank',
15448
15735
  urlFragment: 'productTour',
15449
15736
  clientIncomeTypes: ['sole']
15450
- })
15737
+ }),
15738
+ [AccountSetupItemsEnum.HOLDINGS]: plainToClass(AccountSetupItem, {
15739
+ title: 'Add your holdings',
15740
+ description: 'Track your trades for shares, crypto and other assets in one place, and auto calculate CGT all year round!',
15741
+ url: '/client/holdings-tank',
15742
+ // @TODO Nicole waiting for product tour from
15743
+ urlFragment: 'productTour',
15744
+ clientIncomeTypes: ['holdings']
15745
+ }),
15451
15746
  };
15452
15747
 
15453
15748
  /**
@@ -15455,7 +15750,7 @@ const ACCOUNT_SETUP_ITEMS = {
15455
15750
  * Checks required steps and their completion
15456
15751
  */
15457
15752
  class AccountSetupService {
15458
- constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService) {
15753
+ constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService, holdingService) {
15459
15754
  this.clientIncomeTypesService = clientIncomeTypesService;
15460
15755
  this.propertyService = propertyService;
15461
15756
  this.incomeSourceService = incomeSourceService;
@@ -15464,6 +15759,7 @@ class AccountSetupService {
15464
15759
  this.vehicleClaimService = vehicleClaimService;
15465
15760
  this.transactionService = transactionService;
15466
15761
  this.soleBusinessService = soleBusinessService;
15762
+ this.holdingService = holdingService;
15467
15763
  this.cacheSubject = new ReplaySubject(1);
15468
15764
  }
15469
15765
  /**
@@ -15473,9 +15769,7 @@ class AccountSetupService {
15473
15769
  if (!this.cache) {
15474
15770
  this.cache = new AccountSetupItemCollection([]);
15475
15771
  this.clientIncomeTypesService.getSingle()
15476
- .pipe(
15477
- // we need account setup only when user selected at least one income type
15478
- filter((incomeTypes) => !!incomeTypes.length), mergeMap((incomeTypes) => {
15772
+ .pipe(mergeMap((incomeTypes) => {
15479
15773
  this.clientIncomeTypesId = incomeTypes.id;
15480
15774
  return this.createBatch(incomeTypes);
15481
15775
  }))
@@ -15532,12 +15826,18 @@ class AccountSetupService {
15532
15826
  if (incomeTypes.sole) {
15533
15827
  batch.push(this.create(AccountSetupItemsEnum.SOLE_BUSINESS, this.soleBusinessService.get()));
15534
15828
  }
15535
- // Bank feeds item is completed when user added at least one bank account (basiq or manual)
15536
- batch.push(this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.getArray()));
15537
- // Logbook item is completed when user has at least one vehicle claim with any method (kms or logbook)
15538
- batch.push(this.getLogbookItem());
15539
- // Allocation item is completed when user added at least one transaction allocation
15540
- batch.push(this.create(AccountSetupItemsEnum.TRANSACTION, this.transactionAllocationService.get()));
15829
+ // holdings item is completed when user added at least one holding
15830
+ if (incomeTypes.holdings) {
15831
+ batch.push(this.create(AccountSetupItemsEnum.HOLDINGS, this.holdingService.getArray()));
15832
+ }
15833
+ if (incomeTypes.sole || incomeTypes.property || incomeTypes.work) {
15834
+ // Bank feeds item is completed when user added at least one bank account (basiq or manual)
15835
+ batch.push(this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.getArray()));
15836
+ // Logbook item is completed when user has at least one vehicle claim with any method (kms or logbook)
15837
+ batch.push(this.getLogbookItem());
15838
+ // Allocation item is completed when user added at least one transaction allocation
15839
+ batch.push(this.create(AccountSetupItemsEnum.TRANSACTION, this.transactionAllocationService.get()));
15840
+ }
15541
15841
  return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items)));
15542
15842
  }
15543
15843
  /**
@@ -15568,14 +15868,14 @@ class AccountSetupService {
15568
15868
  }));
15569
15869
  }
15570
15870
  }
15571
- 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 });
15871
+ 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 });
15572
15872
  AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
15573
15873
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, decorators: [{
15574
15874
  type: Injectable,
15575
15875
  args: [{
15576
15876
  providedIn: 'root'
15577
15877
  }]
15578
- }], ctorParameters: function () { return [{ type: ClientIncomeTypesService }, { type: PropertyService }, { type: IncomeSourceService }, { type: BankAccountService }, { type: TransactionAllocationService }, { type: VehicleClaimService }, { type: TransactionService }, { type: SoleBusinessService }]; } });
15878
+ }], ctorParameters: function () { return [{ type: ClientIncomeTypesService }, { type: PropertyService }, { type: IncomeSourceService }, { type: BankAccountService }, { type: TransactionAllocationService }, { type: VehicleClaimService }, { type: TransactionService }, { type: SoleBusinessService }, { type: HoldingService }]; } });
15579
15879
 
15580
15880
  /**
15581
15881
  * Service to work with Rewardful (affiliate program) API
@@ -17779,7 +18079,7 @@ class ClientIncomeTypesForm extends AbstractForm {
17779
18079
  work: new UntypedFormControl(clientIncomeTypes.work || false),
17780
18080
  property: new UntypedFormControl(clientIncomeTypes.property || false),
17781
18081
  sole: new UntypedFormControl(clientIncomeTypes.sole || false),
17782
- holdings: new UntypedFormControl({ value: clientIncomeTypes.holdings || false, disabled: true })
18082
+ holdings: new UntypedFormControl(clientIncomeTypes.holdings || false)
17783
18083
  }, clientIncomeTypes, atLeastOneCheckedValidator());
17784
18084
  this.clientIncomeTypes = clientIncomeTypes;
17785
18085
  }
@@ -18463,6 +18763,22 @@ class MyTaxIncomeStatementsForm extends AbstractForm {
18463
18763
  value: incomeStatements.attributablePsiTransactionsTotalTax,
18464
18764
  disabled: true
18465
18765
  }),
18766
+ fhssTransactionsTotalAmount: new UntypedFormControl({
18767
+ value: incomeStatements.fhssTransactionsTotalAmount,
18768
+ disabled: true
18769
+ }),
18770
+ fhssTransactionsTotalTax: new UntypedFormControl({
18771
+ value: incomeStatements.fhssTransactionsTotalTax,
18772
+ disabled: true
18773
+ }),
18774
+ australianSpecialPaymentsTotalAmount: new UntypedFormControl({
18775
+ value: incomeStatements.australianSpecialPaymentsTotalAmount,
18776
+ disabled: true
18777
+ }),
18778
+ australianSpecialPaymentsTotalTax: new UntypedFormControl({
18779
+ value: incomeStatements.australianSpecialPaymentsTotalTax,
18780
+ disabled: true
18781
+ }),
18466
18782
  });
18467
18783
  this.incomeStatements = incomeStatements;
18468
18784
  }
@@ -19347,5 +19663,5 @@ class DepreciationForm extends TransactionBaseForm {
19347
19663
  * Generated bundle index. Do not edit.
19348
19664
  */
19349
19665
 
19350
- 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 };
19666
+ 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 };
19351
19667
  //# sourceMappingURL=taxtank-core.mjs.map