taxtank-core 0.27.1 → 0.27.4

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 (60) hide show
  1. package/bundles/taxtank-core.umd.js +383 -159
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/depreciation.collection.js +10 -9
  4. package/esm2015/lib/db/Enums/depreciation-calculation.enum.js +2 -2
  5. package/esm2015/lib/db/Enums/sole-depreciation-method.enum.js +6 -0
  6. package/esm2015/lib/db/Models/sole/sole-business-activity.js +4 -0
  7. package/esm2015/lib/db/Models/sole/sole-business.js +1 -1
  8. package/esm2015/lib/db/Models/sole/sole-depreciation-method.js +4 -0
  9. package/esm2015/lib/db/Models/sole/sole-details.js +1 -1
  10. package/esm2015/lib/db/Models/user/user.js +1 -1
  11. package/esm2015/lib/forms/sole/index.js +2 -1
  12. package/esm2015/lib/forms/sole/sole-business.form.js +3 -3
  13. package/esm2015/lib/forms/sole/sole-depreciation-method.form.js +10 -0
  14. package/esm2015/lib/models/depreciation/depreciation-group.enum.js +2 -1
  15. package/esm2015/lib/models/depreciation/depreciation-groups.const.js +7 -2
  16. package/esm2015/lib/models/depreciation/depreciation.js +32 -25
  17. package/esm2015/lib/models/endpoint/endpoints.const.js +6 -4
  18. package/esm2015/lib/models/event/app-event-type.enum.js +33 -31
  19. package/esm2015/lib/models/report/depreciation/depreciation-report-item.js +2 -2
  20. package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +2 -2
  21. package/esm2015/lib/models/sole/index.js +3 -1
  22. package/esm2015/lib/models/sole/sole-business-activity.js +4 -0
  23. package/esm2015/lib/models/sole/sole-business.js +10 -2
  24. package/esm2015/lib/models/sole/sole-depreciation-method.js +8 -0
  25. package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +34 -0
  26. package/esm2015/lib/services/http/depreciation/depreciation.service.js +19 -1
  27. package/esm2015/lib/services/http/property/property.service.js +8 -1
  28. package/esm2015/lib/services/http/sole/index.js +3 -1
  29. package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +21 -0
  30. package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +62 -0
  31. package/esm2015/lib/services/index.js +2 -1
  32. package/esm2015/public-api.js +2 -1
  33. package/fesm2015/taxtank-core.js +308 -131
  34. package/fesm2015/taxtank-core.js.map +1 -1
  35. package/lib/collections/depreciation.collection.d.ts +2 -1
  36. package/lib/db/Enums/depreciation-calculation.enum.d.ts +2 -2
  37. package/lib/db/Enums/sole-depreciation-method.enum.d.ts +4 -0
  38. package/lib/db/Models/sole/sole-business-activity.d.ts +6 -0
  39. package/lib/db/Models/sole/sole-business.d.ts +2 -1
  40. package/lib/db/Models/sole/sole-depreciation-method.d.ts +10 -0
  41. package/lib/db/Models/user/user.d.ts +1 -0
  42. package/lib/forms/sole/index.d.ts +1 -0
  43. package/lib/forms/sole/sole-business.form.d.ts +1 -1
  44. package/lib/forms/sole/sole-depreciation-method.form.d.ts +5 -0
  45. package/lib/models/depreciation/depreciation-group.enum.d.ts +2 -1
  46. package/lib/models/depreciation/depreciation.d.ts +9 -16
  47. package/lib/models/event/app-event-type.enum.d.ts +32 -30
  48. package/lib/models/sole/index.d.ts +2 -0
  49. package/lib/models/sole/sole-business-activity.d.ts +3 -0
  50. package/lib/models/sole/sole-business.d.ts +7 -1
  51. package/lib/models/sole/sole-depreciation-method.d.ts +4 -0
  52. package/lib/services/affiliate/rewardful/rewardful.service.d.ts +13 -0
  53. package/lib/services/http/depreciation/depreciation.service.d.ts +8 -0
  54. package/lib/services/http/property/property.service.d.ts +1 -0
  55. package/lib/services/http/sole/index.d.ts +2 -0
  56. package/lib/services/http/sole/sole-business-activity/sole-business-activity.service.d.ts +11 -0
  57. package/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.d.ts +23 -0
  58. package/lib/services/index.d.ts +1 -0
  59. package/package.json +1 -1
  60. package/public-api.d.ts +1 -0
@@ -4,7 +4,7 @@ import * as i1$1 from '@angular/common';
4
4
  import { CommonModule, DatePipe } from '@angular/common';
5
5
  import * as i1 from '@angular/common/http';
6
6
  import { HttpParams, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
7
- import { ReplaySubject, Subject, BehaviorSubject, throwError, combineLatest, forkJoin, of, Observable, from } from 'rxjs';
7
+ import { ReplaySubject, Subject, BehaviorSubject, throwError, combineLatest, forkJoin, Observable, of, from } from 'rxjs';
8
8
  import { map, filter, catchError, take, switchMap, finalize, mergeMap, skip, distinctUntilChanged } from 'rxjs/operators';
9
9
  import { plainToClass, classToPlain, Type, Exclude, Transform, Expose } from 'class-transformer';
10
10
  import { JwtHelperService } from '@auth0/angular-jwt';
@@ -225,36 +225,38 @@ var AppEventTypeEnum;
225
225
  AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_CREATED"] = 25] = "MESSAGE_FILE_CREATED";
226
226
  AppEventTypeEnum[AppEventTypeEnum["MESSAGE_FILE_DELETED"] = 26] = "MESSAGE_FILE_DELETED";
227
227
  AppEventTypeEnum[AppEventTypeEnum["NOTIFICATION_ADDED"] = 27] = "NOTIFICATION_ADDED";
228
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_UPDATED_WITH_DOCUMENT"] = 28] = "PROPERTY_UPDATED_WITH_DOCUMENT";
229
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_DOCUMENT_ADDED"] = 29] = "PROPERTY_DOCUMENT_ADDED";
230
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_CREATED"] = 30] = "PROPERTY_MOVEMENT_CREATED";
231
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_UPDATED"] = 31] = "PROPERTY_MOVEMENT_UPDATED";
232
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_DELETED"] = 32] = "PROPERTY_MOVEMENT_DELETED";
233
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SHARE_UPDATED"] = 33] = "PROPERTY_SHARE_UPDATED";
234
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SALE_ADDED"] = 34] = "PROPERTY_SALE_ADDED";
235
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SALE_DELETED"] = 35] = "PROPERTY_SALE_DELETED";
236
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_ADDED"] = 36] = "PROPERTY_SUBSCRIPTION_ADDED";
237
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_DELETED"] = 37] = "PROPERTY_SUBSCRIPTION_DELETED";
238
- AppEventTypeEnum[AppEventTypeEnum["PROPERTY_VALUATION_DOCUMENT_CREATED"] = 38] = "PROPERTY_VALUATION_DOCUMENT_CREATED";
239
- AppEventTypeEnum[AppEventTypeEnum["SERVICE_SUBSCRIPTION_UPDATED"] = 39] = "SERVICE_SUBSCRIPTION_UPDATED";
240
- AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 40] = "TAX_REVIEW_UPDATED";
241
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 41] = "TRANSACTION_CREATED";
242
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 42] = "TRANSACTION_DELETED";
243
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 43] = "TRANSACTION_UPDATED";
244
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED_WITH_RECEIPT"] = 44] = "TRANSACTION_UPDATED_WITH_RECEIPT";
245
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED_WITH_DELETED_RECEIPT"] = 45] = "TRANSACTION_UPDATED_WITH_DELETED_RECEIPT";
246
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_RECEIPT_CREATED"] = 46] = "TRANSACTION_RECEIPT_CREATED";
247
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_RECEIPT_DELETED"] = 47] = "TRANSACTION_RECEIPT_DELETED";
248
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 48] = "TRANSACTIONS_CREATED";
249
- AppEventTypeEnum[AppEventTypeEnum["USER_UPDATED"] = 49] = "USER_UPDATED";
250
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_UPDATED"] = 50] = "VEHICLE_CLAIM_UPDATED";
251
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_CREATED"] = 51] = "VEHICLE_CLAIM_CREATED";
252
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_UPDATED"] = 52] = "VEHICLE_CLAIM_DETAILS_UPDATED";
253
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_CREATED"] = 53] = "VEHICLE_CLAIM_DETAILS_CREATED";
254
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 54] = "VEHICLE_LOGBOOK_CREATED";
255
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 55] = "VEHICLE_LOGBOOK_UPDATED";
256
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 56] = "VEHICLE_LOGBOOK_DELETED";
257
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED"] = 57] = "VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED";
228
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_DEPRECIATION_CALCULATION_UPDATED"] = 28] = "PROPERTY_DEPRECIATION_CALCULATION_UPDATED";
229
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_UPDATED_WITH_DOCUMENT"] = 29] = "PROPERTY_UPDATED_WITH_DOCUMENT";
230
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_DOCUMENT_ADDED"] = 30] = "PROPERTY_DOCUMENT_ADDED";
231
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_CREATED"] = 31] = "PROPERTY_MOVEMENT_CREATED";
232
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_UPDATED"] = 32] = "PROPERTY_MOVEMENT_UPDATED";
233
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_MOVEMENT_DELETED"] = 33] = "PROPERTY_MOVEMENT_DELETED";
234
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SHARE_UPDATED"] = 34] = "PROPERTY_SHARE_UPDATED";
235
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SALE_ADDED"] = 35] = "PROPERTY_SALE_ADDED";
236
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SALE_DELETED"] = 36] = "PROPERTY_SALE_DELETED";
237
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_ADDED"] = 37] = "PROPERTY_SUBSCRIPTION_ADDED";
238
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_DELETED"] = 38] = "PROPERTY_SUBSCRIPTION_DELETED";
239
+ AppEventTypeEnum[AppEventTypeEnum["PROPERTY_VALUATION_DOCUMENT_CREATED"] = 39] = "PROPERTY_VALUATION_DOCUMENT_CREATED";
240
+ AppEventTypeEnum[AppEventTypeEnum["SERVICE_SUBSCRIPTION_UPDATED"] = 40] = "SERVICE_SUBSCRIPTION_UPDATED";
241
+ AppEventTypeEnum[AppEventTypeEnum["SOLE_DEPRECIATION_METHOD_UPDATED"] = 41] = "SOLE_DEPRECIATION_METHOD_UPDATED";
242
+ AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 42] = "TAX_REVIEW_UPDATED";
243
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 43] = "TRANSACTION_CREATED";
244
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 44] = "TRANSACTION_DELETED";
245
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 45] = "TRANSACTION_UPDATED";
246
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED_WITH_RECEIPT"] = 46] = "TRANSACTION_UPDATED_WITH_RECEIPT";
247
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED_WITH_DELETED_RECEIPT"] = 47] = "TRANSACTION_UPDATED_WITH_DELETED_RECEIPT";
248
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_RECEIPT_CREATED"] = 48] = "TRANSACTION_RECEIPT_CREATED";
249
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_RECEIPT_DELETED"] = 49] = "TRANSACTION_RECEIPT_DELETED";
250
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 50] = "TRANSACTIONS_CREATED";
251
+ AppEventTypeEnum[AppEventTypeEnum["USER_UPDATED"] = 51] = "USER_UPDATED";
252
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_UPDATED"] = 52] = "VEHICLE_CLAIM_UPDATED";
253
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_CREATED"] = 53] = "VEHICLE_CLAIM_CREATED";
254
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_UPDATED"] = 54] = "VEHICLE_CLAIM_DETAILS_UPDATED";
255
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_CREATED"] = 55] = "VEHICLE_CLAIM_DETAILS_CREATED";
256
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 56] = "VEHICLE_LOGBOOK_CREATED";
257
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 57] = "VEHICLE_LOGBOOK_UPDATED";
258
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 58] = "VEHICLE_LOGBOOK_DELETED";
259
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED"] = 59] = "VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED";
258
260
  })(AppEventTypeEnum || (AppEventTypeEnum = {}));
259
261
 
260
262
  class EventDispatcherService {
@@ -680,11 +682,13 @@ const ENDPOINTS = {
680
682
  SUBSCRIPTION_ITEMS_PUT: new Endpoint('PUT', '\\/subscriptions\\/items'),
681
683
  SOLE_BUSINESSES_GET: new Endpoint('GET', '\\/sole-businesses'),
682
684
  SOLE_BUSINESSES_POST: new Endpoint('POST', '\\/sole-businesses'),
683
- SOLE_BUSINESSES_PUT: new Endpoint('PUT', '\\/sole-businesses\\d+'),
685
+ SOLE_BUSINESSES_PUT: new Endpoint('PUT', '\\/sole-businesses\\/\\d+'),
686
+ SOLE_DEPRECIATION_METHODS_GET: new Endpoint('GET', '\\/sole-depreciation-methods'),
687
+ SOLE_DEPRECIATION_METHODS_PUT: new Endpoint('PUT', '\\/sole-depreciation-methods\\/\\d+'),
684
688
  SOLE_INVOICE_TEMPLATES_GET: new Endpoint('GET', '\\/sole-invoice-templates'),
685
689
  SOLE_INVOICE_TEMPLATES_POST: new Endpoint('POST', '\\/sole-invoice-templates'),
686
- SOLE_INVOICE_TEMPLATES_PUT: new Endpoint('PUT', '\\/sole-invoice-templates\\d+'),
687
- SOLE_INVOICE_TEMPLATES_DELETE: new Endpoint('DELETE', '\\/sole-invoice-templates\\d+'),
690
+ SOLE_INVOICE_TEMPLATES_PUT: new Endpoint('PUT', '\\/sole-invoice-templates\\/\\d+'),
691
+ SOLE_INVOICE_TEMPLATES_DELETE: new Endpoint('DELETE', '\\/sole-invoice-templates\\/\\d+'),
688
692
  TAX_CALCULATION_POST: new Endpoint('POST', '\\/tax-calculation'),
689
693
  TAX_REVIEWS_GET: new Endpoint('GET', '\\/tax-reviews'),
690
694
  TAX_REVIEWS_DELETE: new Endpoint('DELETE', '\\/tax-reviews\\/\\d+'),
@@ -2452,6 +2456,65 @@ __decorate([
2452
2456
  Type(() => SoleInvoiceTemplate)
2453
2457
  ], SoleInvoice.prototype, "template", void 0);
2454
2458
 
2459
+ /**
2460
+ * Class contains traveled kilometers and work usage percent in 12 weeks date range
2461
+ * @TODO Vik: Best period: move this and related logic to backend
2462
+ */
2463
+ class LogbookPeriod {
2464
+ isEndOfYear() {
2465
+ return this.to === new FinancialYear().endDate;
2466
+ }
2467
+ getWorkUsageByClaim(claim) {
2468
+ const claimKilometers = this.logbooks.getByVehicleClaim(claim).getClaimableLogbooks().kilometers;
2469
+ return Math.round(this.workUsage * (claimKilometers / this.kilometers));
2470
+ }
2471
+ }
2472
+ __decorate([
2473
+ Type(() => Date)
2474
+ ], LogbookPeriod.prototype, "from", void 0);
2475
+ __decorate([
2476
+ Type(() => Date)
2477
+ ], LogbookPeriod.prototype, "to", void 0);
2478
+
2479
+ class Vehicle$1 extends AbstractModel {
2480
+ }
2481
+
2482
+ class VehicleLogbook$1 extends AbstractModel {
2483
+ }
2484
+
2485
+ class VehicleLogbook extends VehicleLogbook$1 {
2486
+ get kilometers() {
2487
+ return this.odometerEnd - this.odometerStart;
2488
+ }
2489
+ get tankType() {
2490
+ return this.isSoleTank() ? TankTypeEnum.SOLE : TankTypeEnum.WORK;
2491
+ }
2492
+ isWorkTank() {
2493
+ return !this.business;
2494
+ }
2495
+ isSoleTank() {
2496
+ return !!this.business;
2497
+ }
2498
+ }
2499
+ /**
2500
+ * 12 weeks in milliseconds
2501
+ * "To work out your business-use percentage, you need to keep a logbook and the odometer readings for the logbook period.
2502
+ * The logbook period is a minimum continuous period of 12 weeks." © Nicole Kelly
2503
+ */
2504
+ VehicleLogbook.periodDuration = 7257600000;
2505
+ __decorate([
2506
+ Type(() => Date)
2507
+ ], VehicleLogbook.prototype, "date", void 0);
2508
+ __decorate([
2509
+ Type(() => SoleBusiness)
2510
+ ], VehicleLogbook.prototype, "business", void 0);
2511
+
2512
+ class Vehicle extends Vehicle$1 {
2513
+ }
2514
+ __decorate([
2515
+ Type(() => VehicleLogbook)
2516
+ ], Vehicle.prototype, "logbook", void 0);
2517
+
2455
2518
  class VehicleClaim$1 extends AbstractModel {
2456
2519
  }
2457
2520
 
@@ -2610,9 +2673,9 @@ var DepreciationCalculationEnum;
2610
2673
  (function (DepreciationCalculationEnum) {
2611
2674
  DepreciationCalculationEnum[DepreciationCalculationEnum["PRIME_COST"] = 1] = "PRIME_COST";
2612
2675
  DepreciationCalculationEnum[DepreciationCalculationEnum["DIMINISHING"] = 2] = "DIMINISHING";
2613
- DepreciationCalculationEnum[DepreciationCalculationEnum["CAPITAL"] = 3] = "CAPITAL";
2614
2676
  DepreciationCalculationEnum[DepreciationCalculationEnum["LVP"] = 4] = "LVP";
2615
2677
  DepreciationCalculationEnum[DepreciationCalculationEnum["AMORTISATION"] = 5] = "AMORTISATION";
2678
+ DepreciationCalculationEnum[DepreciationCalculationEnum["SBP"] = 6] = "SBP";
2616
2679
  })(DepreciationCalculationEnum || (DepreciationCalculationEnum = {}));
2617
2680
 
2618
2681
  class DepreciationCapitalProject$1 extends AbstractModel {
@@ -3204,6 +3267,9 @@ __decorate([
3204
3267
  Type(() => Date)
3205
3268
  ], BankTransaction.prototype, "date", void 0);
3206
3269
 
3270
+ /**
3271
+ * @TODO Alex: clarify grouping rules and refactor
3272
+ */
3207
3273
  class Depreciation extends Depreciation$1 {
3208
3274
  constructor() {
3209
3275
  super(...arguments);
@@ -3214,6 +3280,7 @@ class Depreciation extends Depreciation$1 {
3214
3280
  */
3215
3281
  this.amount = 0;
3216
3282
  }
3283
+ // Type checking
3217
3284
  isCapital() {
3218
3285
  return this.type === DepreciationTypeEnum.CAPITAL_WORKS;
3219
3286
  }
@@ -3223,30 +3290,9 @@ class Depreciation extends Depreciation$1 {
3223
3290
  isAsset() {
3224
3291
  return this.type === DepreciationTypeEnum.PLANT_EQUIPMENT;
3225
3292
  }
3226
- /**
3227
- * check if depreciation should be displayed in written off category
3228
- * details in project documentation
3229
- * @TODO new FinancialYear(this.writeOffDate) === new FinancialYear()
3230
- */
3231
- isWrittenOff() {
3232
- return this.isAsset && this.writeOffDate && new FinancialYear(this.writeOffDate).year === this.financialYear;
3233
- }
3234
- /**
3235
- * Check if depreciation is Plant & Equipment
3236
- */
3237
- isPlantEquipment() {
3238
- return this.isAsset() && !this.isWrittenOff() && !this.isLowValuePool();
3239
- }
3240
- /**
3241
- * check if depreciation should be displayed in low value pool
3242
- * details in project documentation
3243
- * @TODO new FinancialYear(this.writeOffDate) === new FinancialYear()
3244
- */
3245
- isLowValuePool() {
3246
- return this.isAsset &&
3247
- this.calculation === DepreciationCalculationEnum.DIMINISHING &&
3248
- this.amount > Depreciation.WRITTEN_OFF_THRESHOLD &&
3249
- this.amount <= Depreciation.LOW_VALUE_POOL_THRESHOLD;
3293
+ // Calculation checking
3294
+ isSBPCalculation() {
3295
+ return this.calculation === DepreciationCalculationEnum.SBP;
3250
3296
  }
3251
3297
  isPrimeCost() {
3252
3298
  return this.calculation === DepreciationCalculationEnum.PRIME_COST;
@@ -3254,6 +3300,30 @@ class Depreciation extends Depreciation$1 {
3254
3300
  isDiminishing() {
3255
3301
  return this.calculation === DepreciationCalculationEnum.DIMINISHING;
3256
3302
  }
3303
+ // Pool checking
3304
+ isPlantEquipmentPool() {
3305
+ return this.isAsset() && !this.isSBPCalculation() && !this.isWrittenOff() && !this.isLVP();
3306
+ }
3307
+ isLVP() {
3308
+ return this.isAsset()
3309
+ && !this.isSBPCalculation()
3310
+ && this.isDiminishing()
3311
+ && this.currentYearForecast.closeBalance > Depreciation.WRITTEN_OFF_THRESHOLD
3312
+ && this.currentYearForecast.closeBalance <= Depreciation.LOW_VALUE_POOL_THRESHOLD;
3313
+ }
3314
+ isSBP() {
3315
+ return this.isAsset() && this.isSBPCalculation() && !this.isWrittenOff();
3316
+ }
3317
+ isWrittenOff() {
3318
+ return this.writeOffYear === new FinancialYear().year;
3319
+ }
3320
+ get writeOffYear() {
3321
+ var _a;
3322
+ if (!this.writeOffManualDate && !this.writeOffDate) {
3323
+ return null;
3324
+ }
3325
+ return (_a = new FinancialYear(this.writeOffManualDate || this.writeOffDate)) === null || _a === void 0 ? void 0 : _a.year;
3326
+ }
3257
3327
  /**
3258
3328
  * Check if depreciation chart accounts heading related to vehicles category
3259
3329
  */
@@ -3356,6 +3426,9 @@ __decorate([
3356
3426
  Type(() => BankTransaction)
3357
3427
  ], Depreciation.prototype, "bankTransaction", void 0);
3358
3428
 
3429
+ class SoleBusinessActivity$1 extends AbstractModel {
3430
+ }
3431
+
3359
3432
  class SoleBusiness extends SoleBusiness$1 {
3360
3433
  getPhotoPlaceholder() {
3361
3434
  return `${this.name[0]}${this.name[1]}`;
@@ -3364,6 +3437,10 @@ class SoleBusiness extends SoleBusiness$1 {
3364
3437
  return this.logo;
3365
3438
  }
3366
3439
  }
3440
+ /**
3441
+ * Maximum number of businesses that a person can have, according to the ATO
3442
+ */
3443
+ SoleBusiness.businessesLimit = 6;
3367
3444
  __decorate([
3368
3445
  Type(() => User)
3369
3446
  ], SoleBusiness.prototype, "user", void 0);
@@ -3388,6 +3465,27 @@ __decorate([
3388
3465
  __decorate([
3389
3466
  Type(() => Depreciation)
3390
3467
  ], SoleBusiness.prototype, "depreciations", void 0);
3468
+ __decorate([
3469
+ Type(() => SoleBusinessActivity$1)
3470
+ ], SoleBusiness.prototype, "activity", void 0);
3471
+
3472
+ class SoleBusinessActivity extends SoleBusinessActivity$1 {
3473
+ }
3474
+
3475
+ class SoleDepreciationMethod$1 extends AbstractModel {
3476
+ }
3477
+
3478
+ var SoleDepreciationMethodEnum;
3479
+ (function (SoleDepreciationMethodEnum) {
3480
+ SoleDepreciationMethodEnum[SoleDepreciationMethodEnum["SBP"] = 1] = "SBP";
3481
+ SoleDepreciationMethodEnum[SoleDepreciationMethodEnum["DEPRECIATION"] = 2] = "DEPRECIATION";
3482
+ })(SoleDepreciationMethodEnum || (SoleDepreciationMethodEnum = {}));
3483
+
3484
+ class SoleDepreciationMethod extends SoleDepreciationMethod$1 {
3485
+ isSBP() {
3486
+ return this.method === SoleDepreciationMethodEnum.SBP;
3487
+ }
3488
+ }
3391
3489
 
3392
3490
  class SoleDetails$1 extends AbstractModel {
3393
3491
  }
@@ -4657,65 +4755,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
4657
4755
  }]
4658
4756
  }] });
4659
4757
 
4660
- /**
4661
- * Class contains traveled kilometers and work usage percent in 12 weeks date range
4662
- * @TODO Vik: Best period: move this and related logic to backend
4663
- */
4664
- class LogbookPeriod {
4665
- isEndOfYear() {
4666
- return this.to === new FinancialYear().endDate;
4667
- }
4668
- getWorkUsageByClaim(claim) {
4669
- const claimKilometers = this.logbooks.getByVehicleClaim(claim).getClaimableLogbooks().kilometers;
4670
- return Math.round(this.workUsage * (claimKilometers / this.kilometers));
4671
- }
4672
- }
4673
- __decorate([
4674
- Type(() => Date)
4675
- ], LogbookPeriod.prototype, "from", void 0);
4676
- __decorate([
4677
- Type(() => Date)
4678
- ], LogbookPeriod.prototype, "to", void 0);
4679
-
4680
- class Vehicle$1 extends AbstractModel {
4681
- }
4682
-
4683
- class VehicleLogbook$1 extends AbstractModel {
4684
- }
4685
-
4686
- class VehicleLogbook extends VehicleLogbook$1 {
4687
- get kilometers() {
4688
- return this.odometerEnd - this.odometerStart;
4689
- }
4690
- get tankType() {
4691
- return this.isSoleTank() ? TankTypeEnum.SOLE : TankTypeEnum.WORK;
4692
- }
4693
- isWorkTank() {
4694
- return !this.business;
4695
- }
4696
- isSoleTank() {
4697
- return !!this.business;
4698
- }
4699
- }
4700
- /**
4701
- * 12 weeks in milliseconds
4702
- * "To work out your business-use percentage, you need to keep a logbook and the odometer readings for the logbook period.
4703
- * The logbook period is a minimum continuous period of 12 weeks." © Nicole Kelly
4704
- */
4705
- VehicleLogbook.periodDuration = 7257600000;
4706
- __decorate([
4707
- Type(() => Date)
4708
- ], VehicleLogbook.prototype, "date", void 0);
4709
- __decorate([
4710
- Type(() => SoleBusiness)
4711
- ], VehicleLogbook.prototype, "business", void 0);
4712
-
4713
- class Vehicle extends Vehicle$1 {
4714
- }
4715
- __decorate([
4716
- Type(() => VehicleLogbook)
4717
- ], Vehicle.prototype, "logbook", void 0);
4718
-
4719
4758
  class VehicleClaimCollection extends Collection {
4720
4759
  /**
4721
4760
  * Get remaining kilometers limit. Total limit ({@link VehicleClaim.totalKmsLimit}) - claimed kilometers from other vehicle claims
@@ -5302,19 +5341,22 @@ class DepreciationCollection extends Collection {
5302
5341
  return this.filter((depreciation) => depreciation.isAsset());
5303
5342
  }
5304
5343
  getPlantEquipment() {
5305
- return this.filter((depreciation) => depreciation.isPlantEquipment());
5344
+ return this.filter((depreciation) => depreciation.isPlantEquipmentPool());
5306
5345
  }
5307
5346
  getCapitalDepreciations() {
5308
5347
  return this.filter((depreciation) => depreciation.isCapital());
5309
5348
  }
5310
5349
  getBorrowingExpenseDepreciations() {
5311
- return new DepreciationCollection(this.items.filter((depreciation) => depreciation.isBorrowingExpense()));
5350
+ return this.filter((depreciation) => depreciation.isBorrowingExpense());
5312
5351
  }
5313
5352
  getWrittenOffDepreciations() {
5314
- return new DepreciationCollection(this.items.filter((depreciation) => depreciation.isWrittenOff()));
5353
+ return this.filter((depreciation) => depreciation.isWrittenOff());
5354
+ }
5355
+ getLVPDepreciations() {
5356
+ return this.filter((depreciation) => depreciation.isLVP());
5315
5357
  }
5316
- getLowValuePoolDepreciations() {
5317
- return new DepreciationCollection(this.items.filter((depreciation) => depreciation.isLowValuePool()));
5358
+ getSBPDepreciations() {
5359
+ return this.filter((depreciation) => depreciation.isSBP());
5318
5360
  }
5319
5361
  getCapitalProjects() {
5320
5362
  return uniqBy(compact(this.items.map((depreciation) => {
@@ -5325,9 +5367,7 @@ class DepreciationCollection extends Collection {
5325
5367
  * Get a new collection of depreciations related to vehicles
5326
5368
  */
5327
5369
  getVehicleDepreciations() {
5328
- return this.create(this.items.filter((depreciation) => {
5329
- return depreciation.isVehicleDepreciation();
5330
- }));
5370
+ return this.filter((depreciation) => depreciation.isVehicleDepreciation());
5331
5371
  }
5332
5372
  getByTankType(tankType) {
5333
5373
  return this.create(this.items.filter((depreciation) => {
@@ -5644,7 +5684,7 @@ class DepreciationReportItem extends Depreciation {
5644
5684
  }
5645
5685
  get categoryTitle() {
5646
5686
  switch (true) {
5647
- case this.isPlantEquipment():
5687
+ case this.isPlantEquipmentPool():
5648
5688
  return 'Plant & Equipment';
5649
5689
  case this.isWrittenOff():
5650
5690
  return 'Written Off Items';
@@ -7215,6 +7255,7 @@ var DepreciationGroupEnum;
7215
7255
  DepreciationGroupEnum[DepreciationGroupEnum["LOW_VALUE_POOL"] = 2] = "LOW_VALUE_POOL";
7216
7256
  DepreciationGroupEnum[DepreciationGroupEnum["WRITTEN_OFF_ITEMS"] = 3] = "WRITTEN_OFF_ITEMS";
7217
7257
  DepreciationGroupEnum[DepreciationGroupEnum["BORROWING_EXPENSES"] = 4] = "BORROWING_EXPENSES";
7258
+ DepreciationGroupEnum[DepreciationGroupEnum["SMALL_BUSINESS_POOL"] = 5] = "SMALL_BUSINESS_POOL";
7218
7259
  })(DepreciationGroupEnum || (DepreciationGroupEnum = {}));
7219
7260
 
7220
7261
  /**
@@ -7272,7 +7313,12 @@ const DEPRECIATION_GROUPS = {
7272
7313
  label: 'Written Off Items',
7273
7314
  description: 'Items below $300, replaced or obsolete are fully deductible',
7274
7315
  icon: 'cart'
7275
- }
7316
+ },
7317
+ [DepreciationGroupEnum.SMALL_BUSINESS_POOL]: {
7318
+ label: 'Small business pool',
7319
+ description: 'The small business pool allows business owners to claim depreciation on plant and equipment items at an accelerated rate.',
7320
+ icon: 'portfolio'
7321
+ },
7276
7322
  };
7277
7323
 
7278
7324
  class DepreciationReceipt$1 extends AbstractModel {
@@ -8021,7 +8067,7 @@ class MyTaxDeductions {
8021
8067
  DeductionSelfEducationTypeEnum.IMPROVE_SKILLS_FOR_CURRENT_EARNINGS_K : null;
8022
8068
  this.workRelatedSelfEducationTotalAmount = this.workRelatedSelfEducationExpenses.sumBy('claimAmount');
8023
8069
  this.lowValuePoolDeductionTotalAmount = this.depreciations.getByTankType(TankTypeEnum.WORK)
8024
- .getLowValuePoolDepreciations().sumBy('claimAmount');
8070
+ .getLVPDepreciations().sumBy('claimAmount');
8025
8071
  this.interestExpensesTotalAmount = this.transactions
8026
8072
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.interestExpenses)
8027
8073
  .sumBy('claimAmount');
@@ -8763,6 +8809,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
8763
8809
  }]
8764
8810
  }] });
8765
8811
 
8812
+ class SoleBusinessActivityService extends RestService {
8813
+ constructor() {
8814
+ super(...arguments);
8815
+ this.modelClass = SoleBusinessActivity;
8816
+ this.url = 'sole-business-activities';
8817
+ this.isHydra = true;
8818
+ }
8819
+ }
8820
+ SoleBusinessActivityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleBusinessActivityService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8821
+ SoleBusinessActivityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleBusinessActivityService, providedIn: 'root' });
8822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleBusinessActivityService, decorators: [{
8823
+ type: Injectable,
8824
+ args: [{
8825
+ providedIn: 'root'
8826
+ }]
8827
+ }] });
8828
+
8766
8829
  class SoleContactService extends RestService {
8767
8830
  constructor() {
8768
8831
  super(...arguments);
@@ -8780,6 +8843,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
8780
8843
  }]
8781
8844
  }] });
8782
8845
 
8846
+ /**
8847
+ * @TODO Alex: extend rest service when refactored
8848
+ */
8849
+ class SoleDepreciationMethodService {
8850
+ constructor(http, environment, eventDispatcherService, toastService) {
8851
+ this.http = http;
8852
+ this.environment = environment;
8853
+ this.eventDispatcherService = eventDispatcherService;
8854
+ this.toastService = toastService;
8855
+ this.cacheSubject = new ReplaySubject(1);
8856
+ this.url = 'sole-depreciation-methods';
8857
+ }
8858
+ get() {
8859
+ if (!this.cache) {
8860
+ this.http.get(`${this.environment.apiV2}/${this.url}`)
8861
+ .pipe(map((response) => plainToClass(SoleDepreciationMethod, response['hydra:member'][0])))
8862
+ .subscribe((soleDepreciationMethod) => {
8863
+ this.cache = soleDepreciationMethod;
8864
+ this.cacheSubject.next(this.cache);
8865
+ return soleDepreciationMethod;
8866
+ });
8867
+ }
8868
+ return this.cacheSubject.asObservable();
8869
+ }
8870
+ update(soleDepreciationMethod) {
8871
+ return this.http.put(`${this.environment.apiV2}/${this.url}/${soleDepreciationMethod.id}`, soleDepreciationMethod)
8872
+ .pipe(map((soleDepreciationMethodBase) => {
8873
+ const method = plainToClass(SoleDepreciationMethod, soleDepreciationMethodBase);
8874
+ this.cache = method;
8875
+ this.cacheSubject.next(this.cache);
8876
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.SOLE_DEPRECIATION_METHOD_UPDATED, method));
8877
+ return this.cache;
8878
+ }), catchError((error) => {
8879
+ this.toastService.error(error.error['hydra:description']);
8880
+ return throwError$1(error);
8881
+ }));
8882
+ }
8883
+ }
8884
+ SoleDepreciationMethodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleDepreciationMethodService, deps: [{ token: i1.HttpClient }, { token: 'environment' }, { token: EventDispatcherService }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
8885
+ SoleDepreciationMethodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleDepreciationMethodService, providedIn: 'root' });
8886
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleDepreciationMethodService, decorators: [{
8887
+ type: Injectable,
8888
+ args: [{
8889
+ providedIn: 'root'
8890
+ }]
8891
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
8892
+ type: Inject,
8893
+ args: ['environment']
8894
+ }] }, { type: EventDispatcherService }, { type: ToastService }]; } });
8895
+
8783
8896
  /**
8784
8897
  * @TODO TT-1777 Alex: extend from rest service when it refactored
8785
8898
  */
@@ -9159,6 +9272,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
9159
9272
  }]
9160
9273
  }] });
9161
9274
 
9275
+ /**
9276
+ * Service to work with Rewardful (affiliate program) API
9277
+ * https://developers.rewardful.com/javascript-api/overview#executing-code-when-rewardful-loads
9278
+ */
9279
+ class RewardfulService {
9280
+ constructor(environment) {
9281
+ this.environment = environment;
9282
+ }
9283
+ getReferralCode() {
9284
+ return new Observable((observer) => {
9285
+ if (!this.environment.rewardfulId) {
9286
+ return observer.next(null);
9287
+ }
9288
+ window['rewardful']('ready', () => {
9289
+ observer.next(window['Rewardful'].referral);
9290
+ });
9291
+ });
9292
+ }
9293
+ }
9294
+ RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9295
+ RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RewardfulService, providedIn: 'root' });
9296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RewardfulService, decorators: [{
9297
+ type: Injectable,
9298
+ args: [{
9299
+ providedIn: 'root'
9300
+ }]
9301
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
9302
+ type: Inject,
9303
+ args: ['environment']
9304
+ }] }]; } });
9305
+
9162
9306
  /**
9163
9307
  * Service for logbook best period calculation
9164
9308
  * @TODO Vik: improve structure for such cases (TT-2043)
@@ -9391,6 +9535,13 @@ class PropertyService extends RestService {
9391
9535
  return updatedProperty;
9392
9536
  }));
9393
9537
  }
9538
+ updateDepreciationCalculation(property) {
9539
+ const propertyToUpdate = plainToClass(Property, { id: property.id, depreciationCalculation: property.depreciationCalculation });
9540
+ return this.update(propertyToUpdate).pipe(map((updatedProperty) => {
9541
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_DEPRECIATION_CALCULATION_UPDATED, updatedProperty));
9542
+ return updatedProperty;
9543
+ }));
9544
+ }
9394
9545
  getByCategoryId(id) {
9395
9546
  return this.get().pipe(map((properties) => {
9396
9547
  return properties.filter((property) => property.category.id === id);
@@ -11331,6 +11482,8 @@ class DepreciationService extends RestService {
11331
11482
  this.listenReceiptDeleted();
11332
11483
  this.listenVehicleClaimChanges();
11333
11484
  this.listenToUpdatedBankAccount();
11485
+ this.listenSoleDepreciationMethodChanges();
11486
+ this.listenPropertyDepreciationCalculationChanges();
11334
11487
  }
11335
11488
  getOpenBalance(depreciation) {
11336
11489
  return this.http.post(`${this.environment.apiV2}/${this.url}/opening-balance?financialYear=${new FinancialYear().year}`, depreciation)
@@ -11389,6 +11542,22 @@ class DepreciationService extends RestService {
11389
11542
  replace(this.cache, depreciationToReplace);
11390
11543
  this.updateCache();
11391
11544
  }
11545
+ /**
11546
+ * @TODO Alex: create common method resetCacheOn(events: AppEventType[])
11547
+ */
11548
+ listenSoleDepreciationMethodChanges() {
11549
+ this.eventDispatcherService.on(AppEventTypeEnum.SOLE_DEPRECIATION_METHOD_UPDATED).subscribe(() => {
11550
+ this.resetCache();
11551
+ });
11552
+ }
11553
+ /**
11554
+ * @TODO Alex: create common method resetCacheOn(events: AppEventType[])
11555
+ */
11556
+ listenPropertyDepreciationCalculationChanges() {
11557
+ this.eventDispatcherService.on(AppEventTypeEnum.PROPERTY_DEPRECIATION_CALCULATION_UPDATED).subscribe(() => {
11558
+ this.resetCache();
11559
+ });
11560
+ }
11392
11561
  }
11393
11562
  DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: DepreciationReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
11394
11563
  DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, providedIn: 'root' });
@@ -13973,7 +14142,7 @@ class SoleBusinessForm extends AbstractForm {
13973
14142
  constructor(business = plainToClass(SoleBusiness, {})) {
13974
14143
  super({
13975
14144
  name: new FormControl(business.name, Validators.required),
13976
- code: new FormControl(business.code, Validators.required),
14145
+ activity: new FormControl(business.activity, Validators.required),
13977
14146
  description: new FormControl(business.description),
13978
14147
  website: new FormControl(business.website)
13979
14148
  }, business);
@@ -14056,6 +14225,14 @@ class SoleContactForm extends AbstractForm {
14056
14225
  }
14057
14226
  }
14058
14227
 
14228
+ class SoleDepreciationMethodForm extends AbstractForm {
14229
+ constructor(soleDepreciationMethod) {
14230
+ super({
14231
+ method: new FormControl(soleDepreciationMethod.method)
14232
+ }, soleDepreciationMethod);
14233
+ }
14234
+ }
14235
+
14059
14236
  class SoleDetailsForm extends AbstractForm {
14060
14237
  constructor(soleDetails) {
14061
14238
  super({
@@ -14833,5 +15010,5 @@ VehicleLogbookForm.maxDescriptionLength = 60;
14833
15010
  * Generated bundle index. Do not edit.
14834
15011
  */
14835
15012
 
14836
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, 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, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasiqConfig, BasiqJob, BasiqService, BasiqToken, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, 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, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReceiptService, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, KompassifyService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessOrLosses, MyTaxBusinessOrLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEmployeeShareSchemes, MyTaxEmployeeShareSchemesForm, 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, PdfOrientationEnum, PdfSettings, Phone, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, SUBSCRIPTION_DESCRIPTION, SUBSCRIPTION_TITLE, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentStatusEnum, ServicePrice, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductIdEnum, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceItem, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SpareDocumentSpareTypeEnum, SseService, SubscriptionService, SubscriptionTypeEnum, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, 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, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, 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, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, minDateValidator, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate };
15013
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, 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, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasiqConfig, BasiqJob, BasiqService, BasiqToken, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, 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, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReceiptService, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, KompassifyService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessOrLosses, MyTaxBusinessOrLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEmployeeShareSchemes, MyTaxEmployeeShareSchemesForm, 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, PdfOrientationEnum, PdfSettings, Phone, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RewardfulService, SUBSCRIPTION_DESCRIPTION, SUBSCRIPTION_TITLE, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentStatusEnum, ServicePrice, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductIdEnum, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceItem, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SpareDocumentSpareTypeEnum, SseService, SubscriptionService, SubscriptionTypeEnum, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, 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, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, 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, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, minDateValidator, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate };
14837
15014
  //# sourceMappingURL=taxtank-core.js.map