taxtank-core 0.21.6 → 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.
@@ -4122,6 +4122,79 @@
4122
4122
  return BankTransactionCollection;
4123
4123
  }(Collection));
4124
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
+
4125
4198
  var ClientCollection = /** @class */ (function (_super) {
4126
4199
  __extends(ClientCollection, _super);
4127
4200
  function ClientCollection() {
@@ -5149,64 +5222,6 @@
5149
5222
  ChartAccountsHeadingVehicleListEnum[ChartAccountsHeadingVehicleListEnum["FUEL_OIL"] = 61] = "FUEL_OIL";
5150
5223
  })(exports.ChartAccountsHeadingVehicleListEnum || (exports.ChartAccountsHeadingVehicleListEnum = {}));
5151
5224
 
5152
- exports.ChartAccountsListEnum = void 0;
5153
- (function (ChartAccountsListEnum) {
5154
- ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_EXPENSES"] = 156] = "PARTNERSHIP_EXPENSES";
5155
- ChartAccountsListEnum[ChartAccountsListEnum["TRUST_EXPENSES"] = 157] = "TRUST_EXPENSES";
5156
- ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_CHARGED_BY_ATO"] = 278] = "INTEREST_CHARGED_BY_ATO";
5157
- ChartAccountsListEnum[ChartAccountsListEnum["LITIGATION_COSTS"] = 280] = "LITIGATION_COSTS";
5158
- ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTANT_TAX_AGENT_FEES"] = 282] = "ACCOUNTANT_TAX_AGENT_FEES";
5159
- ChartAccountsListEnum[ChartAccountsListEnum["TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR"] = 284] = "TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR";
5160
- ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTING_SOFTWARE_FEES"] = 285] = "ACCOUNTING_SOFTWARE_FEES";
5161
- ChartAccountsListEnum[ChartAccountsListEnum["ADVISOR_FEES"] = 286] = "ADVISOR_FEES";
5162
- ChartAccountsListEnum[ChartAccountsListEnum["INCOME_TAX_VARIATION"] = 292] = "INCOME_TAX_VARIATION";
5163
- ChartAccountsListEnum[ChartAccountsListEnum["PSI_ABN_NOT_QUOTED"] = 294] = "PSI_ABN_NOT_QUOTED";
5164
- ChartAccountsListEnum[ChartAccountsListEnum["PSI_VOLUNTARY_AGREEMENT"] = 296] = "PSI_VOLUNTARY_AGREEMENT";
5165
- ChartAccountsListEnum[ChartAccountsListEnum["RENTAL_INCOME"] = 298] = "RENTAL_INCOME";
5166
- ChartAccountsListEnum[ChartAccountsListEnum["OTHER_RENTAL_INCOME"] = 300] = "OTHER_RENTAL_INCOME";
5167
- ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_ON_LOAN"] = 302] = "INTEREST_ON_LOAN";
5168
- ChartAccountsListEnum[ChartAccountsListEnum["BORROWING_EXPENSES"] = 315] = "BORROWING_EXPENSES";
5169
- ChartAccountsListEnum[ChartAccountsListEnum["DIVIDENDS"] = 542] = "DIVIDENDS";
5170
- ChartAccountsListEnum[ChartAccountsListEnum["TRANSFER"] = 615] = "TRANSFER";
5171
- ChartAccountsListEnum[ChartAccountsListEnum["BUILDING_AT_COST"] = 304] = "BUILDING_AT_COST";
5172
- ChartAccountsListEnum[ChartAccountsListEnum["MANAGEMENT_FEES_PLATFORM_FEES"] = 656] = "MANAGEMENT_FEES_PLATFORM_FEES";
5173
- ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED_FOR_WORK"] = 24] = "KLMS_TRAVELLED_FOR_WORK";
5174
- ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED"] = 683] = "KLMS_TRAVELLED";
5175
- ChartAccountsListEnum[ChartAccountsListEnum["DIRECTOR_FEES"] = 6] = "DIRECTOR_FEES";
5176
- ChartAccountsListEnum[ChartAccountsListEnum["SALARY_OR_WAGES"] = 2] = "SALARY_OR_WAGES";
5177
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLES"] = 25] = "VEHICLES";
5178
- ChartAccountsListEnum[ChartAccountsListEnum["COMMERCIAL_VEHICLES"] = 26] = "COMMERCIAL_VEHICLES";
5179
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_INTEREST"] = 37] = "VEHICLE_LOAN_INTEREST";
5180
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_PRINCIPAL"] = 38] = "VEHICLE_LOAN_PRINCIPAL";
5181
- ChartAccountsListEnum[ChartAccountsListEnum["TAX_INSTALMENTS"] = 662] = "TAX_INSTALMENTS";
5182
- ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EARNED"] = 22] = "INTEREST_EARNED";
5183
- ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_INCOME"] = 566] = "PARTNERSHIP_INCOME";
5184
- ChartAccountsListEnum[ChartAccountsListEnum["TRUST_INCOME"] = 567] = "TRUST_INCOME";
5185
- ChartAccountsListEnum[ChartAccountsListEnum["TAX_OFFSETS_N_R_A_S"] = 571] = "TAX_OFFSETS_N_R_A_S";
5186
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_GENUINE_REDUNDANCY"] = 9] = "LUMP_SUM_A_GENUINE_REDUNDANCY";
5187
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_ALL_OTHER_PAYMENTS"] = 10] = "LUMP_SUM_A_ALL_OTHER_PAYMENTS";
5188
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_B"] = 11] = "LUMP_SUM_B";
5189
- ChartAccountsListEnum[ChartAccountsListEnum["ATTRIBUTABLE_PSI"] = 20] = "ATTRIBUTABLE_PSI";
5190
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_PAYMENTS_IN_ARREARS"] = 519] = "LUMP_SUM_PAYMENTS_IN_ARREARS";
5191
- ChartAccountsListEnum[ChartAccountsListEnum["JURY_ATTENDANCE_FEES"] = 519] = "JURY_ATTENDANCE_FEES";
5192
- ChartAccountsListEnum[ChartAccountsListEnum["FOREIGN_EXCHANGE_GAINS_NON_BUSINESS"] = 523] = "FOREIGN_EXCHANGE_GAINS_NON_BUSINESS";
5193
- ChartAccountsListEnum[ChartAccountsListEnum["ROYALTIES"] = 525] = "ROYALTIES";
5194
- ChartAccountsListEnum[ChartAccountsListEnum["TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS"] = 527] = "TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS";
5195
- ChartAccountsListEnum[ChartAccountsListEnum["SPECIAL_PROFESSION_INCOME"] = 529] = "SPECIAL_PROFESSION_INCOME";
5196
- ChartAccountsListEnum[ChartAccountsListEnum["GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED"] = 531] = "GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED";
5197
- ChartAccountsListEnum[ChartAccountsListEnum["ATO_INTEREST_PAID"] = 533] = "ATO_INTEREST_PAID";
5198
- ChartAccountsListEnum[ChartAccountsListEnum["PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE"] = 536] = "PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE";
5199
- ChartAccountsListEnum[ChartAccountsListEnum["SOFTWARE_FEES_TAXTANK"] = 541] = "SOFTWARE_FEES_TAXTANK";
5200
- ChartAccountsListEnum[ChartAccountsListEnum["AUSTRALIAN_ANNUITY_PAYMENTS"] = 559] = "AUSTRALIAN_ANNUITY_PAYMENTS";
5201
- ChartAccountsListEnum[ChartAccountsListEnum["CODE_M_SUPERANNUATION_LUMP_SUM"] = 561] = "CODE_M_SUPERANNUATION_LUMP_SUM";
5202
- ChartAccountsListEnum[ChartAccountsListEnum["EMPLOYEE_SHARE_SCHEME_INCOME"] = 564] = "EMPLOYEE_SHARE_SCHEME_INCOME";
5203
- ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME"] = 590] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME";
5204
- ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION"] = 593] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION";
5205
- ChartAccountsListEnum[ChartAccountsListEnum["ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT"] = 639] = "ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT";
5206
- ChartAccountsListEnum[ChartAccountsListEnum["CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY"] = 558] = "CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY";
5207
- ChartAccountsListEnum[ChartAccountsListEnum["CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH"] = 640] = "CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH";
5208
- })(exports.ChartAccountsListEnum || (exports.ChartAccountsListEnum = {}));
5209
-
5210
5225
  var DepreciationCapitalProject$1 = /** @class */ (function (_super) {
5211
5226
  __extends(DepreciationCapitalProject, _super);
5212
5227
  function DepreciationCapitalProject() {
@@ -9283,17 +9298,6 @@
9283
9298
  return PropertySaleTaxExemptionMetadata;
9284
9299
  }(PropertySaleTaxExemptionMetadata$1));
9285
9300
 
9286
- /**
9287
- * Australian Taxation Office (ATO) website links
9288
- */
9289
- var atoLinks = {
9290
- medicareLevy: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/',
9291
- medicalExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Medical-exemption-from-Medicare-levy/',
9292
- foreignResidentsExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Foreign-residents-Medicare-levy-exemption/',
9293
- 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',
9294
- privateHealthInsuranceRebate: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Private-health-insurance-rebate/#Appropriatelevelofprivatehospitalinsuran'
9295
- };
9296
-
9297
9301
  /**
9298
9302
  * @Todo waiting for the Sole tank implementation
9299
9303
  */
@@ -9387,7 +9391,10 @@
9387
9391
  this.depreciations = depreciations;
9388
9392
  this.vehicleClaim = vehicleClaim;
9389
9393
  this.vehicleClaimRate = vehicleClaimRate;
9390
- this.setVehicleClaimData();
9394
+ // user can have no selected vehicle claim
9395
+ if (this.vehicleClaim) {
9396
+ this.setVehicleClaimData();
9397
+ }
9391
9398
  this.setOtherWorkRelatedExpensesTotalAmount();
9392
9399
  this.workRelatedClothingExpenses = this.transactions
9393
9400
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedClothingExpenses);
@@ -9395,7 +9402,7 @@
9395
9402
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.personalSuperContributions);
9396
9403
  this.workRelatedSelfEducationExpenses = this.transactions
9397
9404
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedSelfEducationExpenses);
9398
- this.vehicleExpensesTotalAmount = this.vehicleClaim.isLogbookMethod() ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
9405
+ this.vehicleExpensesTotalAmount = this.getVehicleExpensesTotalAmount();
9399
9406
  this.workRelatedTravelExpensesTotalAmount = this.transactions
9400
9407
  .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.WORK_RELATED_TRAVEL_EXPENSES)
9401
9408
  .sumBy('amount');
@@ -9432,6 +9439,13 @@
9432
9439
  .filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.otherDeductions)
9433
9440
  .sumBy('amount');
9434
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
+ };
9435
9449
  MyTaxDeductions.prototype.setVehicleClaimData = function () {
9436
9450
  this.klmsMethodClaimAmount = this.vehicleClaim.getKLMsClaimAmount(this.vehicleClaimRate);
9437
9451
  this.totalExpensesAmount = new VehicleExpenseCollection(this.transactions.getByTankType(this.vehicleClaim.tankType), this.depreciations.getByTankType(this.vehicleClaim.tankType), this.vehicleClaim).sumBy('amount');
@@ -9488,6 +9502,47 @@
9488
9502
  return MyTaxEmployeeShareSchemes;
9489
9503
  }());
9490
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
+
9491
9546
  var MyTaxIncomeStatements = /** @class */ (function () {
9492
9547
  function MyTaxIncomeStatements(transactions) {
9493
9548
  this.transactionsByChartAccounts = transactions.groupBy('chartAccounts.id');
@@ -9673,6 +9728,21 @@
9673
9728
  return MyTaxRent;
9674
9729
  }());
9675
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
+
9676
9746
  /**
9677
9747
  * Constant with list of URLs
9678
9748
  */
@@ -9799,6 +9869,21 @@
9799
9869
  ], TaxReview.prototype, "employee", void 0);
9800
9870
 
9801
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
9802
9887
  * Used in tax summary reports to show amounts relating to a tax return category entity and details of what this
9803
9888
  * amount is comprised of. Example here shows an amount of $951.96 and also details of what this amount is comprised of:
9804
9889
  */
@@ -9824,20 +9909,13 @@
9824
9909
  return new ReportItemCollection(value);
9825
9910
  })
9826
9911
  ], ReportItem.prototype, "items", void 0);
9827
-
9828
- /**
9829
- * Used in tax summary reports to show specific details relating to an amount in the report.
9830
- * See structure in ReportItem class.
9831
- * Example an amount of $550 for property income could be comprised of 2 different property amounts of $300 and $250.
9832
- * This is useful in providing drill-down information for the tax summary report.
9833
- */
9834
- var ReportItemDetails = /** @class */ (function (_super) {
9835
- __extends(ReportItemDetails, _super);
9836
- function ReportItemDetails() {
9837
- return _super !== null && _super.apply(this, arguments) || this;
9838
- }
9839
- return ReportItemDetails;
9840
- }(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);
9841
9919
 
9842
9920
  /**
9843
9921
  * Base class for each sections of Tax Summary report, contains common properties/methods
@@ -14869,7 +14947,7 @@
14869
14947
  if (data === void 0) { data = {}; }
14870
14948
  this.submitted = true;
14871
14949
  this.markAllAsTouched();
14872
- if (!this.valid) {
14950
+ if (!this.disabled && !this.valid) {
14873
14951
  return null;
14874
14952
  }
14875
14953
  var model = this.createModelInstance(Object.assign({}, this.model, this.value, data));
@@ -15460,9 +15538,11 @@
15460
15538
  var MyTaxDeductionsForm = /** @class */ (function (_super) {
15461
15539
  __extends(MyTaxDeductionsForm, _super);
15462
15540
  function MyTaxDeductionsForm(deductions) {
15463
- return _super.call(this, {
15541
+ var _this = this;
15542
+ var _a;
15543
+ _this = _super.call(this, {
15464
15544
  vehicleClaimMethod: new forms.FormControl({
15465
- value: deductions.vehicleClaim.method,
15545
+ value: (_a = deductions.vehicleClaim) === null || _a === void 0 ? void 0 : _a.method,
15466
15546
  disabled: true
15467
15547
  }),
15468
15548
  vehicleExpensesTotalAmount: new forms.FormControl({
@@ -15528,6 +15608,7 @@
15528
15608
  disabled: true
15529
15609
  })
15530
15610
  }) || this;
15611
+ return _this;
15531
15612
  }
15532
15613
  return MyTaxDeductionsForm;
15533
15614
  }(AbstractForm));
@@ -15878,6 +15959,7 @@
15878
15959
  exports.CHART_ACCOUNTS_CATEGORIES = CHART_ACCOUNTS_CATEGORIES;
15879
15960
  exports.CalculationFormItem = CalculationFormItem;
15880
15961
  exports.ChartAccounts = ChartAccounts;
15962
+ exports.ChartAccountsCollection = ChartAccountsCollection;
15881
15963
  exports.ChartAccountsDepreciation = ChartAccountsDepreciation;
15882
15964
  exports.ChartAccountsDepreciationService = ChartAccountsDepreciationService;
15883
15965
  exports.ChartAccountsHeading = ChartAccountsHeading;
@@ -15983,6 +16065,7 @@
15983
16065
  exports.MyTaxDividendsForm = MyTaxDividendsForm;
15984
16066
  exports.MyTaxEmployeeShareSchemes = MyTaxEmployeeShareSchemes;
15985
16067
  exports.MyTaxEmployeeShareSchemesForm = MyTaxEmployeeShareSchemesForm;
16068
+ exports.MyTaxEstimate = MyTaxEstimate;
15986
16069
  exports.MyTaxIncomeStatements = MyTaxIncomeStatements;
15987
16070
  exports.MyTaxIncomeStatementsForm = MyTaxIncomeStatementsForm;
15988
16071
  exports.MyTaxIncomeTests = MyTaxIncomeTests;