taxtank-core 0.21.4 → 0.21.7

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.
@@ -3618,15 +3618,17 @@
3618
3618
  var connection = classTransformer.plainToClass(BankConnection, bankConnectionBase);
3619
3619
  // We use this endpoint for create and reconnect bank connections because of basiq logic.
3620
3620
  // So we try to replace bank connection in cache for reconnection case.
3621
- if (bankConnection.id) {
3622
- var tempCache = cloneDeep__default["default"](_this.cache);
3623
- replace(tempCache, connection);
3624
- _this.cache = cloneDeep__default["default"](tempCache);
3625
- _this.cacheSubject.next(tempCache);
3626
- }
3627
- else {
3628
- _this.cache.push(connection);
3629
- _this.cacheSubject.next(cloneDeep__default["default"](_this.cache));
3621
+ if (_this.cache) {
3622
+ if (bankConnection.id) {
3623
+ var tempCache = cloneDeep__default["default"](_this.cache);
3624
+ replace(tempCache, connection);
3625
+ _this.cache = tempCache;
3626
+ _this.cacheSubject.next(_this.cache);
3627
+ }
3628
+ else {
3629
+ _this.cache.push(connection);
3630
+ _this.cacheSubject.next(cloneDeep__default["default"](_this.cache));
3631
+ }
3630
3632
  }
3631
3633
  return classTransformer.plainToClass(BankConnection, connection);
3632
3634
  }));
@@ -3711,12 +3713,11 @@
3711
3713
  */
3712
3714
  BasiqService.prototype.updateConnection = function (data, userId, connection) {
3713
3715
  var _this = this;
3714
- // Send login data to basiq API to create a basiq job
3716
+ // Send login data and connection id to basiq API to create a basiq job
3715
3717
  return this.http.post(BasiqService.basiqApiUrl + "/users/" + userId + "/connections", Object.assign(data, { id: connection.externalId }))
3716
- .pipe(
3717
- // Create bank connection based on basiq job
3718
- operators.mergeMap(function (response) {
3719
- return _this.bankConnectionService.add(classTransformer.plainToClass(BankConnection, Object.assign({ id: connection.id, basiqJob: { externalId: response.id } })));
3718
+ .pipe(operators.mergeMap(function (response) {
3719
+ // Create bank connection based on basiq job
3720
+ return _this.bankConnectionService.add(classTransformer.plainToClass(BankConnection, { id: connection.id, basiqJob: { externalId: response.id } }));
3720
3721
  }), operators.catchError(function (error) {
3721
3722
  // Show error when user provided wrong login data
3722
3723
  if (error.status === 401) {
@@ -4121,6 +4122,79 @@
4121
4122
  return BankTransactionCollection;
4122
4123
  }(Collection));
4123
4124
 
4125
+ exports.ChartAccountsListEnum = void 0;
4126
+ (function (ChartAccountsListEnum) {
4127
+ ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_EXPENSES"] = 156] = "PARTNERSHIP_EXPENSES";
4128
+ ChartAccountsListEnum[ChartAccountsListEnum["TRUST_EXPENSES"] = 157] = "TRUST_EXPENSES";
4129
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_CHARGED_BY_ATO"] = 278] = "INTEREST_CHARGED_BY_ATO";
4130
+ ChartAccountsListEnum[ChartAccountsListEnum["LITIGATION_COSTS"] = 280] = "LITIGATION_COSTS";
4131
+ ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTANT_TAX_AGENT_FEES"] = 282] = "ACCOUNTANT_TAX_AGENT_FEES";
4132
+ ChartAccountsListEnum[ChartAccountsListEnum["TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR"] = 284] = "TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR";
4133
+ ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTING_SOFTWARE_FEES"] = 285] = "ACCOUNTING_SOFTWARE_FEES";
4134
+ ChartAccountsListEnum[ChartAccountsListEnum["ADVISOR_FEES"] = 286] = "ADVISOR_FEES";
4135
+ ChartAccountsListEnum[ChartAccountsListEnum["INCOME_TAX_VARIATION"] = 292] = "INCOME_TAX_VARIATION";
4136
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_ABN_NOT_QUOTED"] = 294] = "PSI_ABN_NOT_QUOTED";
4137
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_VOLUNTARY_AGREEMENT"] = 296] = "PSI_VOLUNTARY_AGREEMENT";
4138
+ ChartAccountsListEnum[ChartAccountsListEnum["RENTAL_INCOME"] = 298] = "RENTAL_INCOME";
4139
+ ChartAccountsListEnum[ChartAccountsListEnum["OTHER_RENTAL_INCOME"] = 300] = "OTHER_RENTAL_INCOME";
4140
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_ON_LOAN"] = 302] = "INTEREST_ON_LOAN";
4141
+ ChartAccountsListEnum[ChartAccountsListEnum["BORROWING_EXPENSES"] = 315] = "BORROWING_EXPENSES";
4142
+ ChartAccountsListEnum[ChartAccountsListEnum["DIVIDENDS"] = 542] = "DIVIDENDS";
4143
+ ChartAccountsListEnum[ChartAccountsListEnum["TRANSFER"] = 615] = "TRANSFER";
4144
+ ChartAccountsListEnum[ChartAccountsListEnum["BUILDING_AT_COST"] = 304] = "BUILDING_AT_COST";
4145
+ ChartAccountsListEnum[ChartAccountsListEnum["MANAGEMENT_FEES_PLATFORM_FEES"] = 656] = "MANAGEMENT_FEES_PLATFORM_FEES";
4146
+ ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED_FOR_WORK"] = 24] = "KLMS_TRAVELLED_FOR_WORK";
4147
+ ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED"] = 683] = "KLMS_TRAVELLED";
4148
+ ChartAccountsListEnum[ChartAccountsListEnum["DIRECTOR_FEES"] = 6] = "DIRECTOR_FEES";
4149
+ ChartAccountsListEnum[ChartAccountsListEnum["SALARY_OR_WAGES"] = 2] = "SALARY_OR_WAGES";
4150
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLES"] = 25] = "VEHICLES";
4151
+ ChartAccountsListEnum[ChartAccountsListEnum["COMMERCIAL_VEHICLES"] = 26] = "COMMERCIAL_VEHICLES";
4152
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_INTEREST"] = 37] = "VEHICLE_LOAN_INTEREST";
4153
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_PRINCIPAL"] = 38] = "VEHICLE_LOAN_PRINCIPAL";
4154
+ ChartAccountsListEnum[ChartAccountsListEnum["TAX_INSTALMENTS"] = 662] = "TAX_INSTALMENTS";
4155
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EARNED"] = 22] = "INTEREST_EARNED";
4156
+ ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_INCOME"] = 566] = "PARTNERSHIP_INCOME";
4157
+ ChartAccountsListEnum[ChartAccountsListEnum["TRUST_INCOME"] = 567] = "TRUST_INCOME";
4158
+ ChartAccountsListEnum[ChartAccountsListEnum["TAX_OFFSETS_N_R_A_S"] = 571] = "TAX_OFFSETS_N_R_A_S";
4159
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_GENUINE_REDUNDANCY"] = 9] = "LUMP_SUM_A_GENUINE_REDUNDANCY";
4160
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_ALL_OTHER_PAYMENTS"] = 10] = "LUMP_SUM_A_ALL_OTHER_PAYMENTS";
4161
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_B"] = 11] = "LUMP_SUM_B";
4162
+ ChartAccountsListEnum[ChartAccountsListEnum["ATTRIBUTABLE_PSI"] = 20] = "ATTRIBUTABLE_PSI";
4163
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_PAYMENTS_IN_ARREARS"] = 519] = "LUMP_SUM_PAYMENTS_IN_ARREARS";
4164
+ ChartAccountsListEnum[ChartAccountsListEnum["JURY_ATTENDANCE_FEES"] = 519] = "JURY_ATTENDANCE_FEES";
4165
+ ChartAccountsListEnum[ChartAccountsListEnum["FOREIGN_EXCHANGE_GAINS_NON_BUSINESS"] = 523] = "FOREIGN_EXCHANGE_GAINS_NON_BUSINESS";
4166
+ ChartAccountsListEnum[ChartAccountsListEnum["ROYALTIES"] = 525] = "ROYALTIES";
4167
+ ChartAccountsListEnum[ChartAccountsListEnum["TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS"] = 527] = "TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS";
4168
+ ChartAccountsListEnum[ChartAccountsListEnum["SPECIAL_PROFESSION_INCOME"] = 529] = "SPECIAL_PROFESSION_INCOME";
4169
+ ChartAccountsListEnum[ChartAccountsListEnum["GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED"] = 531] = "GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED";
4170
+ ChartAccountsListEnum[ChartAccountsListEnum["ATO_INTEREST_PAID"] = 533] = "ATO_INTEREST_PAID";
4171
+ ChartAccountsListEnum[ChartAccountsListEnum["PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE"] = 536] = "PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE";
4172
+ ChartAccountsListEnum[ChartAccountsListEnum["SOFTWARE_FEES_TAXTANK"] = 541] = "SOFTWARE_FEES_TAXTANK";
4173
+ ChartAccountsListEnum[ChartAccountsListEnum["AUSTRALIAN_ANNUITY_PAYMENTS"] = 559] = "AUSTRALIAN_ANNUITY_PAYMENTS";
4174
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_M_SUPERANNUATION_LUMP_SUM"] = 561] = "CODE_M_SUPERANNUATION_LUMP_SUM";
4175
+ ChartAccountsListEnum[ChartAccountsListEnum["EMPLOYEE_SHARE_SCHEME_INCOME"] = 564] = "EMPLOYEE_SHARE_SCHEME_INCOME";
4176
+ ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME"] = 590] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME";
4177
+ ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION"] = 593] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION";
4178
+ ChartAccountsListEnum[ChartAccountsListEnum["ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT"] = 639] = "ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT";
4179
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY"] = 558] = "CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY";
4180
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH"] = 640] = "CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH";
4181
+ })(exports.ChartAccountsListEnum || (exports.ChartAccountsListEnum = {}));
4182
+
4183
+ var ChartAccountsCollection = /** @class */ (function (_super) {
4184
+ __extends(ChartAccountsCollection, _super);
4185
+ function ChartAccountsCollection() {
4186
+ return _super !== null && _super.apply(this, arguments) || this;
4187
+ }
4188
+ /**
4189
+ * Get 'Klms travelled for work' related chart account value
4190
+ */
4191
+ ChartAccountsCollection.prototype.getVehicleKlmsRate = function (year) {
4192
+ if (year === void 0) { year = new FinancialYear().year; }
4193
+ return this.findBy('id', exports.ChartAccountsListEnum.KLMS_TRAVELLED_FOR_WORK).getValueByYear(year).value;
4194
+ };
4195
+ return ChartAccountsCollection;
4196
+ }(Collection));
4197
+
4124
4198
  var ClientCollection = /** @class */ (function (_super) {
4125
4199
  __extends(ClientCollection, _super);
4126
4200
  function ClientCollection() {
@@ -4544,9 +4618,9 @@
4544
4618
  });
4545
4619
  DepreciationCollection.prototype.getClaimAmountByYear = function (year) {
4546
4620
  if (year === void 0) { year = +localStorage.getItem('financialYear'); }
4547
- return this.amount - this.items.reduce(function (sum, depreciation) {
4621
+ return +Math.round(this.amount - this.items.reduce(function (sum, depreciation) {
4548
4622
  return sum + depreciation.getCloseBalanceByYear(year);
4549
- }, 0);
4623
+ }, 0)).toFixed(2);
4550
4624
  };
4551
4625
  DepreciationCollection.prototype.getCloseBalanceByYear = function (year) {
4552
4626
  if (year === void 0) { year = +localStorage.getItem('financialYear'); }
@@ -5148,64 +5222,6 @@
5148
5222
  ChartAccountsHeadingVehicleListEnum[ChartAccountsHeadingVehicleListEnum["FUEL_OIL"] = 61] = "FUEL_OIL";
5149
5223
  })(exports.ChartAccountsHeadingVehicleListEnum || (exports.ChartAccountsHeadingVehicleListEnum = {}));
5150
5224
 
5151
- exports.ChartAccountsListEnum = void 0;
5152
- (function (ChartAccountsListEnum) {
5153
- ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_EXPENSES"] = 156] = "PARTNERSHIP_EXPENSES";
5154
- ChartAccountsListEnum[ChartAccountsListEnum["TRUST_EXPENSES"] = 157] = "TRUST_EXPENSES";
5155
- ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_CHARGED_BY_ATO"] = 278] = "INTEREST_CHARGED_BY_ATO";
5156
- ChartAccountsListEnum[ChartAccountsListEnum["LITIGATION_COSTS"] = 280] = "LITIGATION_COSTS";
5157
- ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTANT_TAX_AGENT_FEES"] = 282] = "ACCOUNTANT_TAX_AGENT_FEES";
5158
- ChartAccountsListEnum[ChartAccountsListEnum["TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR"] = 284] = "TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR";
5159
- ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTING_SOFTWARE_FEES"] = 285] = "ACCOUNTING_SOFTWARE_FEES";
5160
- ChartAccountsListEnum[ChartAccountsListEnum["ADVISOR_FEES"] = 286] = "ADVISOR_FEES";
5161
- ChartAccountsListEnum[ChartAccountsListEnum["INCOME_TAX_VARIATION"] = 292] = "INCOME_TAX_VARIATION";
5162
- ChartAccountsListEnum[ChartAccountsListEnum["PSI_ABN_NOT_QUOTED"] = 294] = "PSI_ABN_NOT_QUOTED";
5163
- ChartAccountsListEnum[ChartAccountsListEnum["PSI_VOLUNTARY_AGREEMENT"] = 296] = "PSI_VOLUNTARY_AGREEMENT";
5164
- ChartAccountsListEnum[ChartAccountsListEnum["RENTAL_INCOME"] = 298] = "RENTAL_INCOME";
5165
- ChartAccountsListEnum[ChartAccountsListEnum["OTHER_RENTAL_INCOME"] = 300] = "OTHER_RENTAL_INCOME";
5166
- ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_ON_LOAN"] = 302] = "INTEREST_ON_LOAN";
5167
- ChartAccountsListEnum[ChartAccountsListEnum["BORROWING_EXPENSES"] = 315] = "BORROWING_EXPENSES";
5168
- ChartAccountsListEnum[ChartAccountsListEnum["DIVIDENDS"] = 542] = "DIVIDENDS";
5169
- ChartAccountsListEnum[ChartAccountsListEnum["TRANSFER"] = 615] = "TRANSFER";
5170
- ChartAccountsListEnum[ChartAccountsListEnum["BUILDING_AT_COST"] = 304] = "BUILDING_AT_COST";
5171
- ChartAccountsListEnum[ChartAccountsListEnum["MANAGEMENT_FEES_PLATFORM_FEES"] = 656] = "MANAGEMENT_FEES_PLATFORM_FEES";
5172
- ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED_FOR_WORK"] = 24] = "KLMS_TRAVELLED_FOR_WORK";
5173
- ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED"] = 683] = "KLMS_TRAVELLED";
5174
- ChartAccountsListEnum[ChartAccountsListEnum["DIRECTOR_FEES"] = 6] = "DIRECTOR_FEES";
5175
- ChartAccountsListEnum[ChartAccountsListEnum["SALARY_OR_WAGES"] = 2] = "SALARY_OR_WAGES";
5176
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLES"] = 25] = "VEHICLES";
5177
- ChartAccountsListEnum[ChartAccountsListEnum["COMMERCIAL_VEHICLES"] = 26] = "COMMERCIAL_VEHICLES";
5178
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_INTEREST"] = 37] = "VEHICLE_LOAN_INTEREST";
5179
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_PRINCIPAL"] = 38] = "VEHICLE_LOAN_PRINCIPAL";
5180
- ChartAccountsListEnum[ChartAccountsListEnum["TAX_INSTALMENTS"] = 662] = "TAX_INSTALMENTS";
5181
- ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EARNED"] = 22] = "INTEREST_EARNED";
5182
- ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_INCOME"] = 566] = "PARTNERSHIP_INCOME";
5183
- ChartAccountsListEnum[ChartAccountsListEnum["TRUST_INCOME"] = 567] = "TRUST_INCOME";
5184
- ChartAccountsListEnum[ChartAccountsListEnum["TAX_OFFSETS_N_R_A_S"] = 571] = "TAX_OFFSETS_N_R_A_S";
5185
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_GENUINE_REDUNDANCY"] = 9] = "LUMP_SUM_A_GENUINE_REDUNDANCY";
5186
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_ALL_OTHER_PAYMENTS"] = 10] = "LUMP_SUM_A_ALL_OTHER_PAYMENTS";
5187
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_B"] = 11] = "LUMP_SUM_B";
5188
- ChartAccountsListEnum[ChartAccountsListEnum["ATTRIBUTABLE_PSI"] = 20] = "ATTRIBUTABLE_PSI";
5189
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_PAYMENTS_IN_ARREARS"] = 519] = "LUMP_SUM_PAYMENTS_IN_ARREARS";
5190
- ChartAccountsListEnum[ChartAccountsListEnum["JURY_ATTENDANCE_FEES"] = 519] = "JURY_ATTENDANCE_FEES";
5191
- ChartAccountsListEnum[ChartAccountsListEnum["FOREIGN_EXCHANGE_GAINS_NON_BUSINESS"] = 523] = "FOREIGN_EXCHANGE_GAINS_NON_BUSINESS";
5192
- ChartAccountsListEnum[ChartAccountsListEnum["ROYALTIES"] = 525] = "ROYALTIES";
5193
- ChartAccountsListEnum[ChartAccountsListEnum["TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS"] = 527] = "TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS";
5194
- ChartAccountsListEnum[ChartAccountsListEnum["SPECIAL_PROFESSION_INCOME"] = 529] = "SPECIAL_PROFESSION_INCOME";
5195
- ChartAccountsListEnum[ChartAccountsListEnum["GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED"] = 531] = "GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED";
5196
- ChartAccountsListEnum[ChartAccountsListEnum["ATO_INTEREST_PAID"] = 533] = "ATO_INTEREST_PAID";
5197
- ChartAccountsListEnum[ChartAccountsListEnum["PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE"] = 536] = "PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE";
5198
- ChartAccountsListEnum[ChartAccountsListEnum["SOFTWARE_FEES_TAXTANK"] = 541] = "SOFTWARE_FEES_TAXTANK";
5199
- ChartAccountsListEnum[ChartAccountsListEnum["AUSTRALIAN_ANNUITY_PAYMENTS"] = 559] = "AUSTRALIAN_ANNUITY_PAYMENTS";
5200
- ChartAccountsListEnum[ChartAccountsListEnum["CODE_M_SUPERANNUATION_LUMP_SUM"] = 561] = "CODE_M_SUPERANNUATION_LUMP_SUM";
5201
- ChartAccountsListEnum[ChartAccountsListEnum["EMPLOYEE_SHARE_SCHEME_INCOME"] = 564] = "EMPLOYEE_SHARE_SCHEME_INCOME";
5202
- ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME"] = 590] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME";
5203
- ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION"] = 593] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION";
5204
- ChartAccountsListEnum[ChartAccountsListEnum["ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT"] = 639] = "ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT";
5205
- ChartAccountsListEnum[ChartAccountsListEnum["CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY"] = 558] = "CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY";
5206
- ChartAccountsListEnum[ChartAccountsListEnum["CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH"] = 640] = "CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH";
5207
- })(exports.ChartAccountsListEnum || (exports.ChartAccountsListEnum = {}));
5208
-
5209
5225
  var DepreciationCapitalProject$1 = /** @class */ (function (_super) {
5210
5226
  __extends(DepreciationCapitalProject, _super);
5211
5227
  function DepreciationCapitalProject() {
@@ -9282,17 +9298,6 @@
9282
9298
  return PropertySaleTaxExemptionMetadata;
9283
9299
  }(PropertySaleTaxExemptionMetadata$1));
9284
9300
 
9285
- /**
9286
- * Australian Taxation Office (ATO) website links
9287
- */
9288
- var atoLinks = {
9289
- medicareLevy: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/',
9290
- medicalExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Medical-exemption-from-Medicare-levy/',
9291
- foreignResidentsExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Foreign-residents-Medicare-levy-exemption/',
9292
- notEntitledToMedicareBenefits: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Not-entitled-to-Medicare-benefits/#:~:text=If%20you%20were%20not%20entitled,an%20exemption%20under%20category%203.&text=are%20a%20member%20of%20a,Australia%20and%20meet%20other%20conditions',
9293
- privateHealthInsuranceRebate: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Private-health-insurance-rebate/#Appropriatelevelofprivatehospitalinsuran'
9294
- };
9295
-
9296
9301
  /**
9297
9302
  * @Todo waiting for the Sole tank implementation
9298
9303
  */
@@ -9386,7 +9391,10 @@
9386
9391
  this.depreciations = depreciations;
9387
9392
  this.vehicleClaim = vehicleClaim;
9388
9393
  this.vehicleClaimRate = vehicleClaimRate;
9389
- this.setVehicleClaimData();
9394
+ // user can have no selected vehicle claim
9395
+ if (this.vehicleClaim) {
9396
+ this.setVehicleClaimData();
9397
+ }
9390
9398
  this.setOtherWorkRelatedExpensesTotalAmount();
9391
9399
  this.workRelatedClothingExpenses = this.transactions
9392
9400
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedClothingExpenses);
@@ -9394,7 +9402,7 @@
9394
9402
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.personalSuperContributions);
9395
9403
  this.workRelatedSelfEducationExpenses = this.transactions
9396
9404
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedSelfEducationExpenses);
9397
- this.vehicleExpensesTotalAmount = this.vehicleClaim.isLogbookMethod() ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
9405
+ this.vehicleExpensesTotalAmount = this.getVehicleExpensesTotalAmount();
9398
9406
  this.workRelatedTravelExpensesTotalAmount = this.transactions
9399
9407
  .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.WORK_RELATED_TRAVEL_EXPENSES)
9400
9408
  .sumBy('amount');
@@ -9431,6 +9439,13 @@
9431
9439
  .filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.otherDeductions)
9432
9440
  .sumBy('amount');
9433
9441
  }
9442
+ MyTaxDeductions.prototype.getVehicleExpensesTotalAmount = function () {
9443
+ var _a;
9444
+ if (this.vehicleClaim) {
9445
+ return ((_a = this.vehicleClaim) === null || _a === void 0 ? void 0 : _a.isLogbookMethod()) ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
9446
+ }
9447
+ return 0;
9448
+ };
9434
9449
  MyTaxDeductions.prototype.setVehicleClaimData = function () {
9435
9450
  this.klmsMethodClaimAmount = this.vehicleClaim.getKLMsClaimAmount(this.vehicleClaimRate);
9436
9451
  this.totalExpensesAmount = new VehicleExpenseCollection(this.transactions.getByTankType(this.vehicleClaim.tankType), this.depreciations.getByTankType(this.vehicleClaim.tankType), this.vehicleClaim).sumBy('amount');
@@ -9487,6 +9502,47 @@
9487
9502
  return MyTaxEmployeeShareSchemes;
9488
9503
  }());
9489
9504
 
9505
+ /**
9506
+ * @Todo add link to documentation about related fields, add comments to methods
9507
+ */
9508
+ var MyTaxEstimate = /** @class */ (function () {
9509
+ function MyTaxEstimate() {
9510
+ }
9511
+ MyTaxEstimate.fromTaxSummary = function (taxSummary) {
9512
+ var summarySection = taxSummary.summary;
9513
+ var grossTaxPayableReportItem = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.GROSS_TAX_PAYABLE);
9514
+ var medicareReportItem = grossTaxPayableReportItem.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.MEDICARE);
9515
+ var taxOffsetsReportItem = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_OFFSETS);
9516
+ var lowMiddleIncomeTaxOffsets = this.getLowMiddleIncomeTaxOffsets(taxOffsetsReportItem);
9517
+ var taxPayable = grossTaxPayableReportItem.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_ON_TAXABLE_INCOME).amount;
9518
+ var medicareLevy = medicareReportItem.details.findBy('name', 'Medicare Levy Surcharge').amount;
9519
+ var medicareLevySurcharge = medicareReportItem.details.findBy('name', 'Medicare Levy (based on single)').amount;
9520
+ var taxCredits = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_CREDITS).amount;
9521
+ var taxOffsets = this.getTaxOffsets(taxOffsetsReportItem.amount, lowMiddleIncomeTaxOffsets);
9522
+ return classTransformer.plainToClass(MyTaxEstimate, {
9523
+ taxableIncome: summarySection.netAmount,
9524
+ grossTaxPayable: grossTaxPayableReportItem.amount,
9525
+ lowMiddleIncomeTaxOffsets: lowMiddleIncomeTaxOffsets,
9526
+ taxPayable: taxPayable,
9527
+ medicareLevy: medicareLevy,
9528
+ medicareLevySurcharge: medicareLevySurcharge,
9529
+ taxCredits: taxCredits,
9530
+ taxOffsets: taxOffsets,
9531
+ netRefund: taxSummary.projectedTaxPosition,
9532
+ percentageOfTaxPaid: taxSummary.taxPercent
9533
+ });
9534
+ };
9535
+ MyTaxEstimate.getLowMiddleIncomeTaxOffsets = function (taxOffsetsReportItem) {
9536
+ var taxOffsetLowIncome = taxOffsetsReportItem.details.findBy('name', 'Tax Offset Low Income');
9537
+ var taxOffsetLowMiddleIncome = taxOffsetsReportItem.details.findBy('name', 'Tax Offset Low and Middle Income');
9538
+ return taxOffsetLowIncome.amount + taxOffsetLowMiddleIncome.amount;
9539
+ };
9540
+ MyTaxEstimate.getTaxOffsets = function (taxOffsetsReportItemAmount, lowMiddleIncomeTaxOffsets) {
9541
+ return taxOffsetsReportItemAmount - lowMiddleIncomeTaxOffsets;
9542
+ };
9543
+ return MyTaxEstimate;
9544
+ }());
9545
+
9490
9546
  var MyTaxIncomeStatements = /** @class */ (function () {
9491
9547
  function MyTaxIncomeStatements(transactions) {
9492
9548
  this.transactionsByChartAccounts = transactions.groupBy('chartAccounts.id');
@@ -9672,6 +9728,21 @@
9672
9728
  return MyTaxRent;
9673
9729
  }());
9674
9730
 
9731
+ /**
9732
+ * Australian Taxation Office (ATO) website links
9733
+ */
9734
+ var atoLinks = {
9735
+ medicareLevy: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/',
9736
+ medicalExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Medical-exemption-from-Medicare-levy/',
9737
+ foreignResidentsExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Foreign-residents-Medicare-levy-exemption/',
9738
+ notEntitledToMedicareBenefits: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Not-entitled-to-Medicare-benefits/#:~:text=If%20you%20were%20not%20entitled,an%20exemption%20under%20category%203.&text=are%20a%20member%20of%20a,Australia%20and%20meet%20other%20conditions',
9739
+ privateHealthInsuranceRebate: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Private-health-insurance-rebate/#Appropriatelevelofprivatehospitalinsuran'
9740
+ };
9741
+
9742
+ /**
9743
+ * 'My Tax' report related data (classes, enums, const, e.t.c)
9744
+ */
9745
+
9675
9746
  /**
9676
9747
  * Constant with list of URLs
9677
9748
  */
@@ -9798,6 +9869,21 @@
9798
9869
  ], TaxReview.prototype, "employee", void 0);
9799
9870
 
9800
9871
  /**
9872
+ * Used in tax summary reports to show specific details relating to an amount in the report.
9873
+ * See structure in ReportItem class.
9874
+ * Example an amount of $550 for property income could be comprised of 2 different property amounts of $300 and $250.
9875
+ * This is useful in providing drill-down information for the tax summary report.
9876
+ */
9877
+ var ReportItemDetails = /** @class */ (function (_super) {
9878
+ __extends(ReportItemDetails, _super);
9879
+ function ReportItemDetails() {
9880
+ return _super !== null && _super.apply(this, arguments) || this;
9881
+ }
9882
+ return ReportItemDetails;
9883
+ }(AbstractModel));
9884
+
9885
+ /**
9886
+ * @Todo no base model - should be generated on backend side
9801
9887
  * Used in tax summary reports to show amounts relating to a tax return category entity and details of what this
9802
9888
  * amount is comprised of. Example here shows an amount of $951.96 and also details of what this amount is comprised of:
9803
9889
  */
@@ -9823,20 +9909,13 @@
9823
9909
  return new ReportItemCollection(value);
9824
9910
  })
9825
9911
  ], ReportItem.prototype, "items", void 0);
9826
-
9827
- /**
9828
- * Used in tax summary reports to show specific details relating to an amount in the report.
9829
- * See structure in ReportItem class.
9830
- * Example an amount of $550 for property income could be comprised of 2 different property amounts of $300 and $250.
9831
- * This is useful in providing drill-down information for the tax summary report.
9832
- */
9833
- var ReportItemDetails = /** @class */ (function (_super) {
9834
- __extends(ReportItemDetails, _super);
9835
- function ReportItemDetails() {
9836
- return _super !== null && _super.apply(this, arguments) || this;
9837
- }
9838
- return ReportItemDetails;
9839
- }(AbstractModel));
9912
+ __decorate([
9913
+ classTransformer.Type(function () { return ReportItemDetails; }),
9914
+ classTransformer.Transform(function (_b) {
9915
+ var value = _b.value;
9916
+ return new Collection(value);
9917
+ })
9918
+ ], ReportItem.prototype, "details", void 0);
9840
9919
 
9841
9920
  /**
9842
9921
  * Base class for each sections of Tax Summary report, contains common properties/methods
@@ -11549,6 +11628,13 @@
11549
11628
  return response.map(function (item) { return classTransformer.plainToClass(ChartAccounts, item); });
11550
11629
  }))
11551
11630
  .subscribe(function (chartAccounts) {
11631
+ // Sort personal chart accounts by name (TT-1950)
11632
+ chartAccounts.sort(function (a, b) {
11633
+ if (a.isPersonal() && b.isPersonal()) {
11634
+ return a.name > b.name ? 1 : -1;
11635
+ }
11636
+ return 0;
11637
+ });
11552
11638
  _this._chartAccounts = chartAccounts;
11553
11639
  _this.chartAccountsSubject.next(_this._chartAccounts);
11554
11640
  });
@@ -14861,7 +14947,7 @@
14861
14947
  if (data === void 0) { data = {}; }
14862
14948
  this.submitted = true;
14863
14949
  this.markAllAsTouched();
14864
- if (!this.valid) {
14950
+ if (!this.disabled && !this.valid) {
14865
14951
  return null;
14866
14952
  }
14867
14953
  var model = this.createModelInstance(Object.assign({}, this.model, this.value, data));
@@ -15452,9 +15538,11 @@
15452
15538
  var MyTaxDeductionsForm = /** @class */ (function (_super) {
15453
15539
  __extends(MyTaxDeductionsForm, _super);
15454
15540
  function MyTaxDeductionsForm(deductions) {
15455
- return _super.call(this, {
15541
+ var _this = this;
15542
+ var _a;
15543
+ _this = _super.call(this, {
15456
15544
  vehicleClaimMethod: new forms.FormControl({
15457
- value: deductions.vehicleClaim.method,
15545
+ value: (_a = deductions.vehicleClaim) === null || _a === void 0 ? void 0 : _a.method,
15458
15546
  disabled: true
15459
15547
  }),
15460
15548
  vehicleExpensesTotalAmount: new forms.FormControl({
@@ -15520,6 +15608,7 @@
15520
15608
  disabled: true
15521
15609
  })
15522
15610
  }) || this;
15611
+ return _this;
15523
15612
  }
15524
15613
  return MyTaxDeductionsForm;
15525
15614
  }(AbstractForm));
@@ -15870,6 +15959,7 @@
15870
15959
  exports.CHART_ACCOUNTS_CATEGORIES = CHART_ACCOUNTS_CATEGORIES;
15871
15960
  exports.CalculationFormItem = CalculationFormItem;
15872
15961
  exports.ChartAccounts = ChartAccounts;
15962
+ exports.ChartAccountsCollection = ChartAccountsCollection;
15873
15963
  exports.ChartAccountsDepreciation = ChartAccountsDepreciation;
15874
15964
  exports.ChartAccountsDepreciationService = ChartAccountsDepreciationService;
15875
15965
  exports.ChartAccountsHeading = ChartAccountsHeading;
@@ -15975,6 +16065,7 @@
15975
16065
  exports.MyTaxDividendsForm = MyTaxDividendsForm;
15976
16066
  exports.MyTaxEmployeeShareSchemes = MyTaxEmployeeShareSchemes;
15977
16067
  exports.MyTaxEmployeeShareSchemesForm = MyTaxEmployeeShareSchemesForm;
16068
+ exports.MyTaxEstimate = MyTaxEstimate;
15978
16069
  exports.MyTaxIncomeStatements = MyTaxIncomeStatements;
15979
16070
  exports.MyTaxIncomeStatementsForm = MyTaxIncomeStatementsForm;
15980
16071
  exports.MyTaxIncomeTests = MyTaxIncomeTests;