taxtank-core 0.28.65 → 0.28.66

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 (41) hide show
  1. package/bundles/taxtank-core.umd.js +310 -74
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/depreciation.collection.js +17 -1
  4. package/esm2015/lib/collections/transaction/transaction-base.collection.js +13 -1
  5. package/esm2015/lib/collections/transaction/transaction.collection.js +36 -8
  6. package/esm2015/lib/db/Enums/annual-frequency.enum.js +9 -0
  7. package/esm2015/lib/db/Enums/index.js +2 -1
  8. package/esm2015/lib/db/Models/sole/bas-report.js +3 -0
  9. package/esm2015/lib/db/Models/sole/sole-details.js +1 -1
  10. package/esm2015/lib/db/Models/transaction/transaction-base.js +25 -4
  11. package/esm2015/lib/forms/abstract.form.js +5 -2
  12. package/esm2015/lib/forms/sole/bas-report.form.js +62 -0
  13. package/esm2015/lib/forms/sole/index.js +2 -1
  14. package/esm2015/lib/models/depreciation/depreciation.js +25 -3
  15. package/esm2015/lib/models/report/property/property-report-item-transaction.js +2 -2
  16. package/esm2015/lib/models/sole/bas-report.js +21 -0
  17. package/esm2015/lib/models/sole/index.js +2 -1
  18. package/esm2015/lib/models/transaction/transaction.js +21 -42
  19. package/esm2015/lib/services/http/sole/bas-report/bas-report.service.js +21 -0
  20. package/esm2015/lib/services/http/sole/index.js +2 -1
  21. package/esm2015/lib/services/http/sole/sole-invoice/sole-invoice.service.js +1 -2
  22. package/fesm2015/taxtank-core.js +248 -64
  23. package/fesm2015/taxtank-core.js.map +1 -1
  24. package/lib/collections/depreciation.collection.d.ts +11 -0
  25. package/lib/collections/transaction/transaction-base.collection.d.ts +7 -0
  26. package/lib/collections/transaction/transaction.collection.d.ts +19 -2
  27. package/lib/db/Enums/annual-frequency.enum.d.ts +7 -0
  28. package/lib/db/Enums/index.d.ts +1 -0
  29. package/lib/db/Models/sole/bas-report.d.ts +15 -0
  30. package/lib/db/Models/sole/sole-details.d.ts +2 -0
  31. package/lib/db/Models/transaction/transaction-base.d.ts +6 -2
  32. package/lib/forms/abstract.form.d.ts +1 -0
  33. package/lib/forms/sole/bas-report.form.d.ts +16 -0
  34. package/lib/forms/sole/index.d.ts +1 -0
  35. package/lib/models/depreciation/depreciation.d.ts +5 -0
  36. package/lib/models/sole/bas-report.d.ts +10 -0
  37. package/lib/models/sole/index.d.ts +1 -0
  38. package/lib/models/transaction/transaction.d.ts +7 -16
  39. package/lib/services/http/sole/bas-report/bas-report.service.d.ts +11 -0
  40. package/lib/services/http/sole/index.d.ts +1 -0
  41. package/package.json +1 -1
@@ -2821,6 +2821,9 @@ __decorate([
2821
2821
  ], ChartAccounts.prototype, "metadata", void 0);
2822
2822
 
2823
2823
  class TransactionBase extends AbstractModel {
2824
+ get claimRatio() {
2825
+ return this.claimPercent / 100;
2826
+ }
2824
2827
  get tankType() {
2825
2828
  switch (true) {
2826
2829
  case this.isPropertyTank():
@@ -2865,11 +2868,20 @@ class TransactionBase extends AbstractModel {
2865
2868
  }
2866
2869
  return !!this.business;
2867
2870
  }
2868
- getAmountWithGst() {
2871
+ get amountWithGst() {
2869
2872
  return this.isGST ? +(this.amount * ChartAccounts.GSTCoefficient).toFixed(2) : this.amount;
2870
2873
  }
2871
- getGstAmount() {
2872
- return +(this.getAmountWithGst() - this.amount).toFixed(2);
2874
+ get gstAmount() {
2875
+ return +(this.amountWithGst - this.amount).toFixed(2);
2876
+ }
2877
+ get gstClaimAmount() {
2878
+ return this.gstAmount * this.claimRatio;
2879
+ }
2880
+ get grossAmount() {
2881
+ return this.amount + this.gstAmount;
2882
+ }
2883
+ get grossClaimAmount() {
2884
+ return +(this.grossAmount * (this.claimPercent / 100)).toFixed(2);
2873
2885
  }
2874
2886
  }
2875
2887
  __decorate([
@@ -2879,6 +2891,15 @@ __decorate([
2879
2891
  return obj.file;
2880
2892
  })
2881
2893
  ], TransactionBase.prototype, "file", void 0);
2894
+ __decorate([
2895
+ Exclude()
2896
+ ], TransactionBase.prototype, "amountWithGst", null);
2897
+ __decorate([
2898
+ Exclude()
2899
+ ], TransactionBase.prototype, "gstAmount", null);
2900
+ __decorate([
2901
+ Exclude()
2902
+ ], TransactionBase.prototype, "gstClaimAmount", null);
2882
2903
 
2883
2904
  class Transaction$1 extends TransactionBase {
2884
2905
  }
@@ -3234,15 +3255,6 @@ __decorate([
3234
3255
  Type(() => Transaction)
3235
3256
  ], TransactionAllocation.prototype, "transaction", void 0);
3236
3257
 
3237
- /**
3238
- * Enum with income amount types (Net or Gross)
3239
- */
3240
- var IncomeAmountTypeEnum;
3241
- (function (IncomeAmountTypeEnum) {
3242
- IncomeAmountTypeEnum[IncomeAmountTypeEnum["NET"] = 0] = "NET";
3243
- IncomeAmountTypeEnum[IncomeAmountTypeEnum["GROSS"] = 1] = "GROSS";
3244
- })(IncomeAmountTypeEnum || (IncomeAmountTypeEnum = {}));
3245
-
3246
3258
  class Depreciation$1 extends TransactionBase {
3247
3259
  }
3248
3260
 
@@ -3393,7 +3405,12 @@ class Depreciation extends Depreciation$1 {
3393
3405
  * Create a new transaction from current depreciation
3394
3406
  */
3395
3407
  toTransaction(params = {}) {
3396
- return plainToClass(Transaction, Object.assign(params, this, { amount: -this.claimAmount, claimAmount: -this.amount * (this.claimPercent / 100) }));
3408
+ var _a, _b;
3409
+ return plainToClass(Transaction, Object.assign(params, this, {
3410
+ amount: -((_a = this.currentYearForecast) === null || _a === void 0 ? void 0 : _a.amount) || 0,
3411
+ claimAmount: ((_b = this.currentYearForecast) === null || _b === void 0 ? void 0 : _b.claimAmount) || 0,
3412
+ date: this.purchaseDate
3413
+ }));
3397
3414
  }
3398
3415
  /**
3399
3416
  * @TODO Michael: remove and check everywhere in reports
@@ -3402,6 +3419,20 @@ class Depreciation extends Depreciation$1 {
3402
3419
  var _a;
3403
3420
  return ((_a = this.currentYearForecast) === null || _a === void 0 ? void 0 : _a.claimAmount) || 0;
3404
3421
  }
3422
+ get amountWithGst() {
3423
+ // only new assets
3424
+ if (new FinancialYear(this.purchaseDate).year !== new FinancialYear().year) {
3425
+ return this.amount;
3426
+ }
3427
+ return super.amountWithGst;
3428
+ }
3429
+ /**
3430
+ * @TODO temporary hack, in future backend should return negative numbers
3431
+ */
3432
+ get grossAmount() {
3433
+ var _a;
3434
+ return -((_a = this.currentYearForecast) === null || _a === void 0 ? void 0 : _a.amount) - this.gstAmount;
3435
+ }
3405
3436
  }
3406
3437
  Depreciation.WRITTEN_OFF_THRESHOLD = 300;
3407
3438
  Depreciation.LOW_VALUE_POOL_THRESHOLD = 1000;
@@ -3447,6 +3478,9 @@ __decorate([
3447
3478
  __decorate([
3448
3479
  Type(() => BankTransaction)
3449
3480
  ], Depreciation.prototype, "bankTransaction", void 0);
3481
+ __decorate([
3482
+ Exclude()
3483
+ ], Depreciation.prototype, "amountWithGst", null);
3450
3484
 
3451
3485
  // @TODO Alex: refactor: move here allocations methods, netAmount = amount, grossAmount calculation, remove unused methods, etc.
3452
3486
  class Transaction extends Transaction$1 {
@@ -3467,13 +3501,21 @@ class Transaction extends Transaction$1 {
3467
3501
  isCredit() {
3468
3502
  return this.type === TransactionTypeEnum.CREDIT;
3469
3503
  }
3504
+ /**
3505
+ * @TODO move to base collection
3506
+ */
3470
3507
  isIncome() {
3508
+ // @TODO not used
3471
3509
  if (!this.chartAccounts) {
3472
3510
  return this.isCredit();
3473
3511
  }
3474
3512
  return CHART_ACCOUNTS_CATEGORIES.income.includes(this.chartAccounts.category);
3475
3513
  }
3514
+ /**
3515
+ * @TODO move to base collection
3516
+ */
3476
3517
  isExpense() {
3518
+ // @TODO not used
3477
3519
  if (!this.chartAccounts) {
3478
3520
  return this.isDebit();
3479
3521
  }
@@ -3482,6 +3524,9 @@ class Transaction extends Transaction$1 {
3482
3524
  isPersonal() {
3483
3525
  return CHART_ACCOUNTS_CATEGORIES.personal.includes(this.chartAccounts.category);
3484
3526
  }
3527
+ isInterest() {
3528
+ return this.chartAccounts.id === ChartAccountsListEnum.INTEREST_ON_LOAN;
3529
+ }
3485
3530
  get chartAccountsCategories() {
3486
3531
  switch (true) {
3487
3532
  case this.isPersonal():
@@ -3512,21 +3557,6 @@ class Transaction extends Transaction$1 {
3512
3557
  isVehicleTransaction() {
3513
3558
  return this.chartAccounts.isVehicleExpense();
3514
3559
  }
3515
- /**
3516
- * Get net amount (clean amount after all deductions)
3517
- * @TODO Alex: remove, this.amount should be netAmount actually
3518
- */
3519
- getNetAmount() {
3520
- // @TODO fix hack while transactions refactoring (use class-transformer)
3521
- return +(Math.round(this.getIncomeAmountByType(IncomeAmountTypeEnum.NET) * 100) / 100).toFixed(2);
3522
- }
3523
- /**
3524
- * Get gross income amount
3525
- */
3526
- getGrossIncome() {
3527
- // @TODO fix hack while transactions refactoring (use class-transformer)
3528
- return +(Math.round(this.getIncomeAmountByType(IncomeAmountTypeEnum.GROSS) * 100) / 100).toFixed(2);
3529
- }
3530
3560
  get taxFreeComponent() {
3531
3561
  return this.getMetadataFieldValue(ChartAccountsMetadataListEnum.TAX_FREE_COMPONENT);
3532
3562
  }
@@ -3569,29 +3599,6 @@ class Transaction extends Transaction$1 {
3569
3599
  return transactionMetadata.chartAccountsMetadata.id === field;
3570
3600
  })) === null || _a === void 0 ? void 0 : _a.value) || 0;
3571
3601
  }
3572
- /**
3573
- * Returns Net or Gross income amount based on provided income type
3574
- * @param incomeType by which amount should be returned
3575
- */
3576
- getIncomeAmountByType(incomeType) {
3577
- // modifier that determines whether the values of the transaction fields will be added or subtracted
3578
- const modifier = incomeType === IncomeAmountTypeEnum.GROSS ? 1 : -1;
3579
- switch (true) {
3580
- case this.isPropertyTank():
3581
- return this.amount +
3582
- (this.transactions
3583
- .reduce((sum, transaction) => sum + Math.abs(transaction.amount), 0) * modifier);
3584
- case this.isWorkTank():
3585
- return this.amount + ((this.tax + this.frankingCredit - this.taxFreeComponent - this.eligibleForReduction) * modifier);
3586
- case this.isSoleTank():
3587
- return this.amount + this.tax * modifier;
3588
- default:
3589
- return this.amount || 0;
3590
- }
3591
- }
3592
- isInterest() {
3593
- return this.chartAccounts.id === ChartAccountsListEnum.INTEREST_ON_LOAN;
3594
- }
3595
3602
  isCash() {
3596
3603
  return this.source === TransactionSourceEnum.CASH;
3597
3604
  }
@@ -3630,10 +3637,17 @@ class Transaction extends Transaction$1 {
3630
3637
  }
3631
3638
  /**
3632
3639
  * Total transaction amount including taxes and other additional amounts
3633
- * @TODO Alex: refactor everything related to amounts
3634
3640
  */
3635
3641
  get grossAmount() {
3636
- return this.isIncome() ? this.getGrossIncome() : this.amount;
3642
+ let grossAmount = super.grossAmount + this.tax;
3643
+ if (this.isExpense()) {
3644
+ return grossAmount;
3645
+ }
3646
+ grossAmount += this.transactions.reduce((sum, transaction) => sum + Math.abs(transaction.amount), 0);
3647
+ if (this.isWorkTank()) {
3648
+ grossAmount += this.frankingCredit - this.taxFreeComponent - this.eligibleForReduction;
3649
+ }
3650
+ return +(Math.round(grossAmount * 100) / 100).toFixed(2);
3637
3651
  }
3638
3652
  }
3639
3653
  __decorate([
@@ -4137,6 +4151,27 @@ __decorate([
4137
4151
  Type(() => User)
4138
4152
  ], SoleDetails.prototype, "user", void 0);
4139
4153
 
4154
+ class BasReport$1 {
4155
+ }
4156
+
4157
+ class BasReport extends BasReport$1 {
4158
+ get taxWithheldTotal() {
4159
+ return this.taxWithheldSalary + this.taxWithheldNoABN;
4160
+ }
4161
+ /**
4162
+ * GST payable to the ATO, or refundable from the ATO in case it's negative
4163
+ */
4164
+ get gst() {
4165
+ return this.incomeGST - this.expenseGST + this.taxWithheldTotal + this.paygTaxInstalment - this.fuelTaxCredit;
4166
+ }
4167
+ }
4168
+ __decorate([
4169
+ Type(() => Date)
4170
+ ], BasReport.prototype, "dateFrom", void 0);
4171
+ __decorate([
4172
+ Type(() => Date)
4173
+ ], BasReport.prototype, "dateTo", void 0);
4174
+
4140
4175
  class User extends User$1 {
4141
4176
  get fullName() {
4142
4177
  return `${this.firstName} ${this.lastName}`;
@@ -6113,14 +6148,28 @@ __decorate([
6113
6148
  const MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Jan'];
6114
6149
 
6115
6150
  /**
6151
+ * @TODO extend from TransactionBaseCollection
6116
6152
  * Collection of transactions
6117
6153
  */
6118
6154
  class TransactionCollection extends ExportableCollection {
6155
+ /**
6156
+ * @TODO use TransactionBaseCollection instead
6157
+ * we use depreciations as expense transactions a lot
6158
+ */
6159
+ constructor(transactions = [], depreciations = []) {
6160
+ super([...transactions, ...depreciations.map((depreciation) => depreciation.toTransaction())]);
6161
+ }
6162
+ /**
6163
+ * Get business related transactions
6164
+ */
6165
+ getWithBusiness() {
6166
+ return this.filter((transaction) => !!transaction.business);
6167
+ }
6119
6168
  /**
6120
6169
  * Get total amount of all transactions in the collection
6121
6170
  */
6122
6171
  get amount() {
6123
- return +this.items.reduce((sum, transaction) => sum + transaction.getNetAmount(), 0).toFixed(2);
6172
+ return +this.items.reduce((sum, transaction) => sum + transaction.amount, 0).toFixed(2);
6124
6173
  }
6125
6174
  /**
6126
6175
  * Difference between allocated amount and total amount
@@ -6150,9 +6199,6 @@ class TransactionCollection extends ExportableCollection {
6150
6199
  get claimAmount() {
6151
6200
  return this.items.reduce((sum, transaction) => sum + transaction.claimAmount, 0);
6152
6201
  }
6153
- get grossAmount() {
6154
- return +this.items.reduce((sum, transaction) => sum + transaction.amount, 0).toFixed(2);
6155
- }
6156
6202
  getByChartAccountsCategories(categories) {
6157
6203
  return new TransactionCollection(this.items.filter((transaction) => categories.includes(transaction.chartAccounts.category)));
6158
6204
  }
@@ -6176,12 +6222,12 @@ class TransactionCollection extends ExportableCollection {
6176
6222
  getIncomeTransactions() {
6177
6223
  return new TransactionCollection(this.items.filter((transaction) => transaction.isIncome()));
6178
6224
  }
6179
- get claimIncome() {
6180
- return this.getIncomeTransactions().claimAmount;
6181
- }
6182
6225
  getExpenseTransactions() {
6183
6226
  return new TransactionCollection(this.items.filter((transaction) => transaction.isExpense() && !transaction.isInterest()));
6184
6227
  }
6228
+ get claimIncome() {
6229
+ return this.getIncomeTransactions().claimAmount;
6230
+ }
6185
6231
  get claimExpense() {
6186
6232
  return this.getExpenseTransactions().claimAmount;
6187
6233
  }
@@ -6320,6 +6366,22 @@ class TransactionCollection extends ExportableCollection {
6320
6366
  });
6321
6367
  return chartData;
6322
6368
  }
6369
+ /**
6370
+ * user pays GST only from allocated part of income (the rest user didn't get, so don't have to pay)
6371
+ *
6372
+ * @param allocations
6373
+ */
6374
+ calculateAllocatedGST(allocations) {
6375
+ const allocationsByTransaction = allocations.groupBy('transaction.id');
6376
+ let allocatedGST = 0;
6377
+ this.filterBy('isGST', true).toArray().forEach((transaction) => {
6378
+ allocatedGST += allocationsByTransaction.get(transaction.id).sumBy('amount') * transaction.claimRatio * ChartAccounts.GSTRatio;
6379
+ });
6380
+ return allocatedGST;
6381
+ }
6382
+ getAllocatedAmount(allocations) {
6383
+ return allocations.getByTransactionsIds(this.getIds()).sumBy('amount');
6384
+ }
6323
6385
  }
6324
6386
 
6325
6387
  class TransactionAllocationCollection extends Collection {
@@ -6360,7 +6422,13 @@ class TransactionAllocationCollection extends Collection {
6360
6422
  }
6361
6423
  }
6362
6424
 
6425
+ /**
6426
+ * used to combine transactions/depreciations
6427
+ */
6363
6428
  class TransactionBaseCollection extends Collection {
6429
+ filterByBusiness(business) {
6430
+ return this.filterBy('business.id', business.id);
6431
+ }
6364
6432
  getClaimAmountByBusinessId(businessId) {
6365
6433
  return +this.filterBy('business.id', businessId).items.map((transaction) => transaction instanceof Depreciation ? -transaction.claimAmount : transaction['claimAmount']).reduce((sum, claimAmount) => sum + claimAmount, 0).toFixed(2);
6366
6434
  }
@@ -6370,6 +6438,12 @@ class TransactionBaseCollection extends Collection {
6370
6438
  getWithBusiness() {
6371
6439
  return this.filter((transaction) => !!transaction.business);
6372
6440
  }
6441
+ getIncomeTransactions() {
6442
+ return this.create(this.items.filter((transaction) => transaction.isIncome()));
6443
+ }
6444
+ getExpenseTransactions() {
6445
+ return this.create(this.items.filter((transaction) => transaction.isExpense() && !transaction.isInterest()));
6446
+ }
6373
6447
  }
6374
6448
 
6375
6449
  // @TODO Alex move here all collections
@@ -6652,7 +6726,22 @@ class ClientPortfolioReportCollection extends Collection {
6652
6726
  }
6653
6727
  }
6654
6728
 
6729
+ /**
6730
+ * @TODO extend from TransactionBaseCollection
6731
+ */
6655
6732
  class DepreciationCollection extends Collection {
6733
+ /**
6734
+ * Get business related transactions
6735
+ */
6736
+ getWithBusiness() {
6737
+ return this.filter((depreciation) => !!depreciation.business);
6738
+ }
6739
+ /**
6740
+ * assets purchased in the current financial year
6741
+ */
6742
+ getNew() {
6743
+ return this.filter((depreciation) => new FinancialYear(depreciation.purchaseDate).year === new FinancialYear().year);
6744
+ }
6656
6745
  /**
6657
6746
  * Get total amount of all depreciations in the collection
6658
6747
  */
@@ -6972,7 +7061,7 @@ class PropertyReportItem extends AbstractModel {
6972
7061
  class PropertyReportItemTransaction extends PropertyReportItem {
6973
7062
  constructor(transactions, property, chartAccounts) {
6974
7063
  super(property, chartAccounts);
6975
- this.amount = Math.abs(transactions.grossAmount);
7064
+ this.amount = Math.abs(transactions.amount);
6976
7065
  this.description = chartAccounts.name;
6977
7066
  }
6978
7067
  }
@@ -7467,6 +7556,15 @@ var DocumentTypeEnum;
7467
7556
  DocumentTypeEnum[DocumentTypeEnum["INVOICE"] = 1] = "INVOICE";
7468
7557
  })(DocumentTypeEnum || (DocumentTypeEnum = {}));
7469
7558
 
7559
+ var AnnualFrequencyEnum;
7560
+ (function (AnnualFrequencyEnum) {
7561
+ AnnualFrequencyEnum[AnnualFrequencyEnum["ANNUAL"] = 1] = "ANNUAL";
7562
+ AnnualFrequencyEnum[AnnualFrequencyEnum["QUARTERLY"] = 3] = "QUARTERLY";
7563
+ AnnualFrequencyEnum[AnnualFrequencyEnum["MONTHLY"] = 12] = "MONTHLY";
7564
+ AnnualFrequencyEnum[AnnualFrequencyEnum["FORTNIGHTLY"] = 26] = "FORTNIGHTLY";
7565
+ AnnualFrequencyEnum[AnnualFrequencyEnum["WEEKLY"] = 52] = "WEEKLY";
7566
+ })(AnnualFrequencyEnum || (AnnualFrequencyEnum = {}));
7567
+
7470
7568
  // @TODO Artem TT-2308 move everything
7471
7569
 
7472
7570
  var ChartAccountsEtpEnum;
@@ -9973,6 +10071,15 @@ var TaxSummaryTypeEnum;
9973
10071
  TaxSummaryTypeEnum["FORECASTS"] = "forecasts";
9974
10072
  })(TaxSummaryTypeEnum || (TaxSummaryTypeEnum = {}));
9975
10073
 
10074
+ /**
10075
+ * Enum with income amount types (Net or Gross)
10076
+ */
10077
+ var IncomeAmountTypeEnum;
10078
+ (function (IncomeAmountTypeEnum) {
10079
+ IncomeAmountTypeEnum[IncomeAmountTypeEnum["NET"] = 0] = "NET";
10080
+ IncomeAmountTypeEnum[IncomeAmountTypeEnum["GROSS"] = 1] = "GROSS";
10081
+ })(IncomeAmountTypeEnum || (IncomeAmountTypeEnum = {}));
10082
+
9976
10083
  var TransactionCategoryEnum;
9977
10084
  (function (TransactionCategoryEnum) {
9978
10085
  TransactionCategoryEnum[TransactionCategoryEnum["PROPERTY"] = 0] = "PROPERTY";
@@ -10329,7 +10436,6 @@ class SoleInvoiceService extends RestService {
10329
10436
  // use id only to avoid unexpected changes
10330
10437
  return this.update(merge({}, invoice, { document, status: SoleInvoiceStatusesEnum.PENDING }))
10331
10438
  .pipe(map((publishedInvoice) => {
10332
- debugger;
10333
10439
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.SOLE_INVOICE_PUBLISHED, publishedInvoice));
10334
10440
  return publishedInvoice;
10335
10441
  }));
@@ -10364,6 +10470,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
10364
10470
  }]
10365
10471
  }] });
10366
10472
 
10473
+ class BasReportService extends RestService {
10474
+ constructor() {
10475
+ super(...arguments);
10476
+ this.modelClass = BasReport;
10477
+ this.url = 'bas-reports';
10478
+ this.isHydra = true;
10479
+ }
10480
+ }
10481
+ BasReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasReportService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10482
+ BasReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasReportService, providedIn: 'root' });
10483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasReportService, decorators: [{
10484
+ type: Injectable,
10485
+ args: [{
10486
+ providedIn: 'root'
10487
+ }]
10488
+ }] });
10489
+
10367
10490
  /**
10368
10491
  * Service that allows to work with WorkTank operations
10369
10492
  */
@@ -15170,6 +15293,8 @@ function taxReviewFilterPredicate(data, filter) {
15170
15293
  class AbstractForm extends FormGroup {
15171
15294
  constructor(controls, model, validatorOrOpts, asyncValidator) {
15172
15295
  super(controls, validatorOrOpts, asyncValidator);
15296
+ // @TODO remove and use getRawValue instead of value (needs testing and refactoring)
15297
+ this.submitDisabledFields = false;
15173
15298
  /**
15174
15299
  * @TODO Alex bad name, it's also about unchanged
15175
15300
  * Flag display if some form values changed
@@ -15201,7 +15326,8 @@ class AbstractForm extends FormGroup {
15201
15326
  if (!this.disabled && !this.valid) {
15202
15327
  return null;
15203
15328
  }
15204
- const model = this.createModelInstance(Object.assign({}, this.model, this.value, data));
15329
+ const value = this.submitDisabledFields ? this.getRawValue() : this.value;
15330
+ const model = this.createModelInstance(Object.assign({}, this.model, value, data));
15205
15331
  this.onSubmit.emit(model);
15206
15332
  return model;
15207
15333
  }
@@ -16016,6 +16142,64 @@ class SoleInvoiceTemplateForm extends AbstractForm {
16016
16142
  }
16017
16143
  }
16018
16144
 
16145
+ /**
16146
+ * business activity statement report
16147
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/268533936/BAS+Report
16148
+ */
16149
+ class BasReportForm extends AbstractForm {
16150
+ /**
16151
+ * @TODO vik TransactionBaseCollection here and everywhere
16152
+ */
16153
+ constructor(report, transactions, allocations, depreciations) {
16154
+ super({
16155
+ dateFrom: new FormControl(report.dateFrom, Validators.required),
16156
+ dateTo: new FormControl(report.dateTo, Validators.required),
16157
+ income: new FormControl({ value: report.income, disabled: true }),
16158
+ incomeGST: new FormControl({ value: report.incomeGST, disabled: true }, Validators.required),
16159
+ expenseGST: new FormControl({ value: report.expenseGST, disabled: true }, Validators.required),
16160
+ salary: new FormControl(report.salary, Validators.required),
16161
+ taxWithheldSalary: new FormControl(report.taxWithheldSalary, Validators.required),
16162
+ taxWithheldNoABN: new FormControl(report.taxWithheldNoABN, Validators.required),
16163
+ taxWithheldTotal: new FormControl({ value: report.taxWithheldTotal || 0, disabled: true }),
16164
+ paygTaxInstalment: new FormControl(report.paygTaxInstalment, Validators.required),
16165
+ fuelTaxCredit: new FormControl(report.fuelTaxCredit, Validators.required),
16166
+ gst: new FormControl({ value: report.gst, disabled: true }),
16167
+ }, report);
16168
+ this.report = report;
16169
+ this.submitDisabledFields = true;
16170
+ // prefill income/expense data based on transactions/depreciations filtered by specified date
16171
+ combineLatest([this.get('dateFrom').valueChanges, this.get('dateTo').valueChanges])
16172
+ .subscribe(([dateFrom, dateTo]) => {
16173
+ const filteredTransactions = transactions.filterByRange('date', dateFrom, dateTo);
16174
+ const filteredDepreciations = depreciations.filterByRange('purchaseDate', dateFrom, dateTo);
16175
+ const incomeTransactions = filteredTransactions.getIncomeTransactions();
16176
+ const expenseTransactions = new TransactionBaseCollection([
16177
+ ...filteredTransactions.getExpenseTransactions().toArray(),
16178
+ ...filteredDepreciations.toArray()
16179
+ ]);
16180
+ // all sole income claimed as 100%
16181
+ this.get('income').setValue(incomeTransactions.getAllocatedAmount(allocations));
16182
+ this.get('incomeGST').setValue(incomeTransactions.calculateAllocatedGST(allocations));
16183
+ this.get('expenseGST').setValue(expenseTransactions.filterBy('isGST', true).sumBy('gstClaimAmount'));
16184
+ });
16185
+ // calculate taxWithheldTotal
16186
+ combineLatest([this.get('taxWithheldSalary').valueChanges, this.get('taxWithheldNoABN').valueChanges])
16187
+ .subscribe(([taxWithheldSalary, taxWithheldNoABN]) => {
16188
+ this.get('taxWithheldTotal').setValue(taxWithheldSalary + taxWithheldNoABN);
16189
+ });
16190
+ // calculate gst payable/refundable
16191
+ combineLatest([
16192
+ this.get('incomeGST').valueChanges,
16193
+ this.get('expenseGST').valueChanges,
16194
+ this.get('taxWithheldTotal').valueChanges,
16195
+ this.get('paygTaxInstalment').valueChanges,
16196
+ this.get('fuelTaxCredit').valueChanges,
16197
+ ]).subscribe(([incomeGST, expenseGST, taxWithheldTotal, paygTaxInstalment, fuelTaxCredit]) => {
16198
+ this.get('gst').setValue(incomeGST - expenseGST + taxWithheldTotal + paygTaxInstalment - fuelTaxCredit);
16199
+ });
16200
+ }
16201
+ }
16202
+
16019
16203
  class BankAccountAllocationForm extends AbstractForm {
16020
16204
  constructor(bankAccount, controls) {
16021
16205
  super(merge(controls, {
@@ -17151,5 +17335,5 @@ VehicleLogbookForm.maxDescriptionLength = 60;
17151
17335
  * Generated bundle index. Do not edit.
17152
17336
  */
17153
17337
 
17154
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, 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, BankExternalStats, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, 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, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, 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, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, 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, 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, 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, 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, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertySaleTaxExemptionMetadataCollection, 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, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, 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, TransactionBaseCollection, 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 };
17338
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AlphabetColorsEnum, AnnualFrequencyEnum, 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, 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, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, 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, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, 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, 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, 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, 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, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertySaleTaxExemptionMetadataCollection, 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, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, 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, TransactionBaseCollection, 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 };
17155
17339
  //# sourceMappingURL=taxtank-core.js.map