taxtank-core 0.21.5 → 0.21.8

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 (51) hide show
  1. package/bundles/taxtank-core.umd.js +200 -95
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/chart-accounts.collection.js +12 -0
  4. package/esm2015/lib/collections/depreciation.collection.js +3 -3
  5. package/esm2015/lib/db/Models/bank/bank-account.js +1 -1
  6. package/esm2015/lib/db/Models/depreciation/depreciation.js +1 -1
  7. package/esm2015/lib/db/Models/sole/sole-business-allocation.js +4 -0
  8. package/esm2015/lib/db/Models/sole/sole-business-loss.js +4 -0
  9. package/esm2015/lib/db/Models/sole/sole-business.js +4 -0
  10. package/esm2015/lib/db/Models/sole/sole-contact.js +4 -0
  11. package/esm2015/lib/db/Models/sole/sole-forecast.js +1 -1
  12. package/esm2015/lib/db/Models/sole/sole-invoice-item.js +4 -0
  13. package/esm2015/lib/db/Models/sole/sole-invoice-template.js +4 -0
  14. package/esm2015/lib/db/Models/sole/sole-invoice.js +4 -0
  15. package/esm2015/lib/db/Models/transaction/transaction.js +1 -1
  16. package/esm2015/lib/db/Models/vehicle/vehicle-claim.js +1 -1
  17. package/esm2015/lib/db/Models/vehicle/vehicle.js +1 -1
  18. package/esm2015/lib/forms/abstract.form.js +2 -2
  19. package/esm2015/lib/forms/report/my-tax/my-tax-deductions.form.js +3 -2
  20. package/esm2015/lib/models/bank/bank-account.js +14 -4
  21. package/esm2015/lib/models/logbook/vehicle-claim.js +6 -3
  22. package/esm2015/lib/models/report/my-tax/index.js +21 -0
  23. package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +13 -3
  24. package/esm2015/lib/models/report/my-tax/my-tax-estimate/my-tax-estimate.js +40 -0
  25. package/esm2015/lib/models/tax-summary/report-item.js +8 -1
  26. package/esm2015/lib/services/event/sse.service.js +2 -1
  27. package/esm2015/public-api.js +4 -17
  28. package/fesm2015/taxtank-core.js +171 -90
  29. package/fesm2015/taxtank-core.js.map +1 -1
  30. package/lib/collections/chart-accounts.collection.d.ts +8 -0
  31. package/lib/db/Models/bank/bank-account.d.ts +2 -2
  32. package/lib/db/Models/depreciation/depreciation.d.ts +2 -0
  33. package/lib/db/Models/sole/sole-business-allocation.d.ts +9 -0
  34. package/lib/db/Models/sole/sole-business-loss.d.ts +9 -0
  35. package/lib/db/Models/sole/sole-business.d.ts +26 -0
  36. package/lib/db/Models/sole/sole-contact.d.ts +17 -0
  37. package/lib/db/Models/sole/sole-invoice-item.d.ts +12 -0
  38. package/lib/db/Models/sole/sole-invoice-template.d.ts +10 -0
  39. package/lib/db/Models/sole/sole-invoice.d.ts +18 -0
  40. package/lib/db/Models/transaction/transaction.d.ts +2 -0
  41. package/lib/db/Models/vehicle/vehicle-claim.d.ts +2 -2
  42. package/lib/db/Models/vehicle/vehicle.d.ts +0 -2
  43. package/lib/models/bank/bank-account.d.ts +2 -0
  44. package/lib/models/logbook/vehicle-claim.d.ts +1 -0
  45. package/lib/models/report/my-tax/index.d.ts +20 -0
  46. package/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.d.ts +1 -0
  47. package/lib/models/report/my-tax/my-tax-estimate/my-tax-estimate.d.ts +20 -0
  48. package/lib/models/tax-summary/report-item.d.ts +8 -1
  49. package/lib/services/event/sse.service.d.ts +1 -0
  50. package/package.json +1 -1
  51. package/public-api.d.ts +3 -16
@@ -3370,20 +3370,34 @@
3370
3370
  * check if bank account related to work tank
3371
3371
  */
3372
3372
  BankAccount.prototype.isWorkTank = function () {
3373
- return this.tankType === exports.TankTypeEnum.WORK;
3373
+ return !this.isPropertyTank() && !this.isSoleTank();
3374
3374
  };
3375
3375
  /**
3376
3376
  * check if bank account related to work tank
3377
3377
  */
3378
3378
  BankAccount.prototype.isPropertyTank = function () {
3379
- return this.tankType === exports.TankTypeEnum.PROPERTY;
3379
+ return !!this.bankAccountProperties.length;
3380
3380
  };
3381
3381
  /**
3382
3382
  * check if bank account related to sole tank
3383
3383
  */
3384
3384
  BankAccount.prototype.isSoleTank = function () {
3385
- return this.tankType === exports.TankTypeEnum.SOLE;
3385
+ return !!this.businessAllocations.length;
3386
3386
  };
3387
+ Object.defineProperty(BankAccount.prototype, "tankType", {
3388
+ get: function () {
3389
+ switch (true) {
3390
+ case this.isPropertyTank():
3391
+ return exports.TankTypeEnum.PROPERTY;
3392
+ case this.isSoleTank():
3393
+ return exports.TankTypeEnum.SOLE;
3394
+ default:
3395
+ return exports.TankTypeEnum.WORK;
3396
+ }
3397
+ },
3398
+ enumerable: false,
3399
+ configurable: true
3400
+ });
3387
3401
  /**
3388
3402
  * Get Bank account property by id
3389
3403
  * @param id Id of property
@@ -4122,6 +4136,79 @@
4122
4136
  return BankTransactionCollection;
4123
4137
  }(Collection));
4124
4138
 
4139
+ exports.ChartAccountsListEnum = void 0;
4140
+ (function (ChartAccountsListEnum) {
4141
+ ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_EXPENSES"] = 156] = "PARTNERSHIP_EXPENSES";
4142
+ ChartAccountsListEnum[ChartAccountsListEnum["TRUST_EXPENSES"] = 157] = "TRUST_EXPENSES";
4143
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_CHARGED_BY_ATO"] = 278] = "INTEREST_CHARGED_BY_ATO";
4144
+ ChartAccountsListEnum[ChartAccountsListEnum["LITIGATION_COSTS"] = 280] = "LITIGATION_COSTS";
4145
+ ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTANT_TAX_AGENT_FEES"] = 282] = "ACCOUNTANT_TAX_AGENT_FEES";
4146
+ ChartAccountsListEnum[ChartAccountsListEnum["TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR"] = 284] = "TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR";
4147
+ ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTING_SOFTWARE_FEES"] = 285] = "ACCOUNTING_SOFTWARE_FEES";
4148
+ ChartAccountsListEnum[ChartAccountsListEnum["ADVISOR_FEES"] = 286] = "ADVISOR_FEES";
4149
+ ChartAccountsListEnum[ChartAccountsListEnum["INCOME_TAX_VARIATION"] = 292] = "INCOME_TAX_VARIATION";
4150
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_ABN_NOT_QUOTED"] = 294] = "PSI_ABN_NOT_QUOTED";
4151
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_VOLUNTARY_AGREEMENT"] = 296] = "PSI_VOLUNTARY_AGREEMENT";
4152
+ ChartAccountsListEnum[ChartAccountsListEnum["RENTAL_INCOME"] = 298] = "RENTAL_INCOME";
4153
+ ChartAccountsListEnum[ChartAccountsListEnum["OTHER_RENTAL_INCOME"] = 300] = "OTHER_RENTAL_INCOME";
4154
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_ON_LOAN"] = 302] = "INTEREST_ON_LOAN";
4155
+ ChartAccountsListEnum[ChartAccountsListEnum["BORROWING_EXPENSES"] = 315] = "BORROWING_EXPENSES";
4156
+ ChartAccountsListEnum[ChartAccountsListEnum["DIVIDENDS"] = 542] = "DIVIDENDS";
4157
+ ChartAccountsListEnum[ChartAccountsListEnum["TRANSFER"] = 615] = "TRANSFER";
4158
+ ChartAccountsListEnum[ChartAccountsListEnum["BUILDING_AT_COST"] = 304] = "BUILDING_AT_COST";
4159
+ ChartAccountsListEnum[ChartAccountsListEnum["MANAGEMENT_FEES_PLATFORM_FEES"] = 656] = "MANAGEMENT_FEES_PLATFORM_FEES";
4160
+ ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED_FOR_WORK"] = 24] = "KLMS_TRAVELLED_FOR_WORK";
4161
+ ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED"] = 683] = "KLMS_TRAVELLED";
4162
+ ChartAccountsListEnum[ChartAccountsListEnum["DIRECTOR_FEES"] = 6] = "DIRECTOR_FEES";
4163
+ ChartAccountsListEnum[ChartAccountsListEnum["SALARY_OR_WAGES"] = 2] = "SALARY_OR_WAGES";
4164
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLES"] = 25] = "VEHICLES";
4165
+ ChartAccountsListEnum[ChartAccountsListEnum["COMMERCIAL_VEHICLES"] = 26] = "COMMERCIAL_VEHICLES";
4166
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_INTEREST"] = 37] = "VEHICLE_LOAN_INTEREST";
4167
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_PRINCIPAL"] = 38] = "VEHICLE_LOAN_PRINCIPAL";
4168
+ ChartAccountsListEnum[ChartAccountsListEnum["TAX_INSTALMENTS"] = 662] = "TAX_INSTALMENTS";
4169
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EARNED"] = 22] = "INTEREST_EARNED";
4170
+ ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_INCOME"] = 566] = "PARTNERSHIP_INCOME";
4171
+ ChartAccountsListEnum[ChartAccountsListEnum["TRUST_INCOME"] = 567] = "TRUST_INCOME";
4172
+ ChartAccountsListEnum[ChartAccountsListEnum["TAX_OFFSETS_N_R_A_S"] = 571] = "TAX_OFFSETS_N_R_A_S";
4173
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_GENUINE_REDUNDANCY"] = 9] = "LUMP_SUM_A_GENUINE_REDUNDANCY";
4174
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_ALL_OTHER_PAYMENTS"] = 10] = "LUMP_SUM_A_ALL_OTHER_PAYMENTS";
4175
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_B"] = 11] = "LUMP_SUM_B";
4176
+ ChartAccountsListEnum[ChartAccountsListEnum["ATTRIBUTABLE_PSI"] = 20] = "ATTRIBUTABLE_PSI";
4177
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_PAYMENTS_IN_ARREARS"] = 519] = "LUMP_SUM_PAYMENTS_IN_ARREARS";
4178
+ ChartAccountsListEnum[ChartAccountsListEnum["JURY_ATTENDANCE_FEES"] = 519] = "JURY_ATTENDANCE_FEES";
4179
+ ChartAccountsListEnum[ChartAccountsListEnum["FOREIGN_EXCHANGE_GAINS_NON_BUSINESS"] = 523] = "FOREIGN_EXCHANGE_GAINS_NON_BUSINESS";
4180
+ ChartAccountsListEnum[ChartAccountsListEnum["ROYALTIES"] = 525] = "ROYALTIES";
4181
+ ChartAccountsListEnum[ChartAccountsListEnum["TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS"] = 527] = "TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS";
4182
+ ChartAccountsListEnum[ChartAccountsListEnum["SPECIAL_PROFESSION_INCOME"] = 529] = "SPECIAL_PROFESSION_INCOME";
4183
+ ChartAccountsListEnum[ChartAccountsListEnum["GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED"] = 531] = "GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED";
4184
+ ChartAccountsListEnum[ChartAccountsListEnum["ATO_INTEREST_PAID"] = 533] = "ATO_INTEREST_PAID";
4185
+ ChartAccountsListEnum[ChartAccountsListEnum["PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE"] = 536] = "PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE";
4186
+ ChartAccountsListEnum[ChartAccountsListEnum["SOFTWARE_FEES_TAXTANK"] = 541] = "SOFTWARE_FEES_TAXTANK";
4187
+ ChartAccountsListEnum[ChartAccountsListEnum["AUSTRALIAN_ANNUITY_PAYMENTS"] = 559] = "AUSTRALIAN_ANNUITY_PAYMENTS";
4188
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_M_SUPERANNUATION_LUMP_SUM"] = 561] = "CODE_M_SUPERANNUATION_LUMP_SUM";
4189
+ ChartAccountsListEnum[ChartAccountsListEnum["EMPLOYEE_SHARE_SCHEME_INCOME"] = 564] = "EMPLOYEE_SHARE_SCHEME_INCOME";
4190
+ ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME"] = 590] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME";
4191
+ ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION"] = 593] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION";
4192
+ ChartAccountsListEnum[ChartAccountsListEnum["ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT"] = 639] = "ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT";
4193
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY"] = 558] = "CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY";
4194
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH"] = 640] = "CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH";
4195
+ })(exports.ChartAccountsListEnum || (exports.ChartAccountsListEnum = {}));
4196
+
4197
+ var ChartAccountsCollection = /** @class */ (function (_super) {
4198
+ __extends(ChartAccountsCollection, _super);
4199
+ function ChartAccountsCollection() {
4200
+ return _super !== null && _super.apply(this, arguments) || this;
4201
+ }
4202
+ /**
4203
+ * Get 'Klms travelled for work' related chart account value
4204
+ */
4205
+ ChartAccountsCollection.prototype.getVehicleKlmsRate = function (year) {
4206
+ if (year === void 0) { year = new FinancialYear().year; }
4207
+ return this.findBy('id', exports.ChartAccountsListEnum.KLMS_TRAVELLED_FOR_WORK).getValueByYear(year).value;
4208
+ };
4209
+ return ChartAccountsCollection;
4210
+ }(Collection));
4211
+
4125
4212
  var ClientCollection = /** @class */ (function (_super) {
4126
4213
  __extends(ClientCollection, _super);
4127
4214
  function ClientCollection() {
@@ -4545,9 +4632,9 @@
4545
4632
  });
4546
4633
  DepreciationCollection.prototype.getClaimAmountByYear = function (year) {
4547
4634
  if (year === void 0) { year = +localStorage.getItem('financialYear'); }
4548
- return this.amount - this.items.reduce(function (sum, depreciation) {
4635
+ return +Math.round(this.amount - this.items.reduce(function (sum, depreciation) {
4549
4636
  return sum + depreciation.getCloseBalanceByYear(year);
4550
- }, 0);
4637
+ }, 0)).toFixed(2);
4551
4638
  };
4552
4639
  DepreciationCollection.prototype.getCloseBalanceByYear = function (year) {
4553
4640
  if (year === void 0) { year = +localStorage.getItem('financialYear'); }
@@ -5149,64 +5236,6 @@
5149
5236
  ChartAccountsHeadingVehicleListEnum[ChartAccountsHeadingVehicleListEnum["FUEL_OIL"] = 61] = "FUEL_OIL";
5150
5237
  })(exports.ChartAccountsHeadingVehicleListEnum || (exports.ChartAccountsHeadingVehicleListEnum = {}));
5151
5238
 
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
5239
  var DepreciationCapitalProject$1 = /** @class */ (function (_super) {
5211
5240
  __extends(DepreciationCapitalProject, _super);
5212
5241
  function DepreciationCapitalProject() {
@@ -8706,11 +8735,18 @@
8706
8735
  return this.method === exports.VehicleClaimMethodEnum.KMS;
8707
8736
  };
8708
8737
  VehicleClaim.prototype.isWorkTank = function () {
8709
- return this.tankType === exports.TankTypeEnum.WORK;
8738
+ return !this.business;
8710
8739
  };
8711
8740
  VehicleClaim.prototype.isSoleTank = function () {
8712
- return this.tankType === exports.TankTypeEnum.SOLE;
8741
+ return !!this.business;
8713
8742
  };
8743
+ Object.defineProperty(VehicleClaim.prototype, "tankType", {
8744
+ get: function () {
8745
+ return this.isSoleTank() ? exports.TankTypeEnum.SOLE : exports.TankTypeEnum.WORK;
8746
+ },
8747
+ enumerable: false,
8748
+ configurable: true
8749
+ });
8714
8750
  /**
8715
8751
  * Claim amount for KLMs method. Exists only for KLMs method.
8716
8752
  */
@@ -9283,17 +9319,6 @@
9283
9319
  return PropertySaleTaxExemptionMetadata;
9284
9320
  }(PropertySaleTaxExemptionMetadata$1));
9285
9321
 
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
9322
  /**
9298
9323
  * @Todo waiting for the Sole tank implementation
9299
9324
  */
@@ -9387,7 +9412,10 @@
9387
9412
  this.depreciations = depreciations;
9388
9413
  this.vehicleClaim = vehicleClaim;
9389
9414
  this.vehicleClaimRate = vehicleClaimRate;
9390
- this.setVehicleClaimData();
9415
+ // user can have no selected vehicle claim
9416
+ if (this.vehicleClaim) {
9417
+ this.setVehicleClaimData();
9418
+ }
9391
9419
  this.setOtherWorkRelatedExpensesTotalAmount();
9392
9420
  this.workRelatedClothingExpenses = this.transactions
9393
9421
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedClothingExpenses);
@@ -9395,7 +9423,7 @@
9395
9423
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.personalSuperContributions);
9396
9424
  this.workRelatedSelfEducationExpenses = this.transactions
9397
9425
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedSelfEducationExpenses);
9398
- this.vehicleExpensesTotalAmount = this.vehicleClaim.isLogbookMethod() ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
9426
+ this.vehicleExpensesTotalAmount = this.getVehicleExpensesTotalAmount();
9399
9427
  this.workRelatedTravelExpensesTotalAmount = this.transactions
9400
9428
  .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.WORK_RELATED_TRAVEL_EXPENSES)
9401
9429
  .sumBy('amount');
@@ -9432,6 +9460,13 @@
9432
9460
  .filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.otherDeductions)
9433
9461
  .sumBy('amount');
9434
9462
  }
9463
+ MyTaxDeductions.prototype.getVehicleExpensesTotalAmount = function () {
9464
+ var _a;
9465
+ if (this.vehicleClaim) {
9466
+ return ((_a = this.vehicleClaim) === null || _a === void 0 ? void 0 : _a.isLogbookMethod()) ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
9467
+ }
9468
+ return 0;
9469
+ };
9435
9470
  MyTaxDeductions.prototype.setVehicleClaimData = function () {
9436
9471
  this.klmsMethodClaimAmount = this.vehicleClaim.getKLMsClaimAmount(this.vehicleClaimRate);
9437
9472
  this.totalExpensesAmount = new VehicleExpenseCollection(this.transactions.getByTankType(this.vehicleClaim.tankType), this.depreciations.getByTankType(this.vehicleClaim.tankType), this.vehicleClaim).sumBy('amount');
@@ -9488,6 +9523,47 @@
9488
9523
  return MyTaxEmployeeShareSchemes;
9489
9524
  }());
9490
9525
 
9526
+ /**
9527
+ * @Todo add link to documentation about related fields, add comments to methods
9528
+ */
9529
+ var MyTaxEstimate = /** @class */ (function () {
9530
+ function MyTaxEstimate() {
9531
+ }
9532
+ MyTaxEstimate.fromTaxSummary = function (taxSummary) {
9533
+ var summarySection = taxSummary.summary;
9534
+ var grossTaxPayableReportItem = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.GROSS_TAX_PAYABLE);
9535
+ var medicareReportItem = grossTaxPayableReportItem.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.MEDICARE);
9536
+ var taxOffsetsReportItem = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_OFFSETS);
9537
+ var lowMiddleIncomeTaxOffsets = this.getLowMiddleIncomeTaxOffsets(taxOffsetsReportItem);
9538
+ var taxPayable = grossTaxPayableReportItem.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_ON_TAXABLE_INCOME).amount;
9539
+ var medicareLevy = medicareReportItem.details.findBy('name', 'Medicare Levy Surcharge').amount;
9540
+ var medicareLevySurcharge = medicareReportItem.details.findBy('name', 'Medicare Levy (based on single)').amount;
9541
+ var taxCredits = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_CREDITS).amount;
9542
+ var taxOffsets = this.getTaxOffsets(taxOffsetsReportItem.amount, lowMiddleIncomeTaxOffsets);
9543
+ return classTransformer.plainToClass(MyTaxEstimate, {
9544
+ taxableIncome: summarySection.netAmount,
9545
+ grossTaxPayable: grossTaxPayableReportItem.amount,
9546
+ lowMiddleIncomeTaxOffsets: lowMiddleIncomeTaxOffsets,
9547
+ taxPayable: taxPayable,
9548
+ medicareLevy: medicareLevy,
9549
+ medicareLevySurcharge: medicareLevySurcharge,
9550
+ taxCredits: taxCredits,
9551
+ taxOffsets: taxOffsets,
9552
+ netRefund: taxSummary.projectedTaxPosition,
9553
+ percentageOfTaxPaid: taxSummary.taxPercent
9554
+ });
9555
+ };
9556
+ MyTaxEstimate.getLowMiddleIncomeTaxOffsets = function (taxOffsetsReportItem) {
9557
+ var taxOffsetLowIncome = taxOffsetsReportItem.details.findBy('name', 'Tax Offset Low Income');
9558
+ var taxOffsetLowMiddleIncome = taxOffsetsReportItem.details.findBy('name', 'Tax Offset Low and Middle Income');
9559
+ return taxOffsetLowIncome.amount + taxOffsetLowMiddleIncome.amount;
9560
+ };
9561
+ MyTaxEstimate.getTaxOffsets = function (taxOffsetsReportItemAmount, lowMiddleIncomeTaxOffsets) {
9562
+ return taxOffsetsReportItemAmount - lowMiddleIncomeTaxOffsets;
9563
+ };
9564
+ return MyTaxEstimate;
9565
+ }());
9566
+
9491
9567
  var MyTaxIncomeStatements = /** @class */ (function () {
9492
9568
  function MyTaxIncomeStatements(transactions) {
9493
9569
  this.transactionsByChartAccounts = transactions.groupBy('chartAccounts.id');
@@ -9673,6 +9749,21 @@
9673
9749
  return MyTaxRent;
9674
9750
  }());
9675
9751
 
9752
+ /**
9753
+ * Australian Taxation Office (ATO) website links
9754
+ */
9755
+ var atoLinks = {
9756
+ medicareLevy: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/',
9757
+ medicalExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Medical-exemption-from-Medicare-levy/',
9758
+ foreignResidentsExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Foreign-residents-Medicare-levy-exemption/',
9759
+ 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',
9760
+ privateHealthInsuranceRebate: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Private-health-insurance-rebate/#Appropriatelevelofprivatehospitalinsuran'
9761
+ };
9762
+
9763
+ /**
9764
+ * 'My Tax' report related data (classes, enums, const, e.t.c)
9765
+ */
9766
+
9676
9767
  /**
9677
9768
  * Constant with list of URLs
9678
9769
  */
@@ -9799,6 +9890,21 @@
9799
9890
  ], TaxReview.prototype, "employee", void 0);
9800
9891
 
9801
9892
  /**
9893
+ * Used in tax summary reports to show specific details relating to an amount in the report.
9894
+ * See structure in ReportItem class.
9895
+ * Example an amount of $550 for property income could be comprised of 2 different property amounts of $300 and $250.
9896
+ * This is useful in providing drill-down information for the tax summary report.
9897
+ */
9898
+ var ReportItemDetails = /** @class */ (function (_super) {
9899
+ __extends(ReportItemDetails, _super);
9900
+ function ReportItemDetails() {
9901
+ return _super !== null && _super.apply(this, arguments) || this;
9902
+ }
9903
+ return ReportItemDetails;
9904
+ }(AbstractModel));
9905
+
9906
+ /**
9907
+ * @Todo no base model - should be generated on backend side
9802
9908
  * Used in tax summary reports to show amounts relating to a tax return category entity and details of what this
9803
9909
  * amount is comprised of. Example here shows an amount of $951.96 and also details of what this amount is comprised of:
9804
9910
  */
@@ -9824,20 +9930,13 @@
9824
9930
  return new ReportItemCollection(value);
9825
9931
  })
9826
9932
  ], 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));
9933
+ __decorate([
9934
+ classTransformer.Type(function () { return ReportItemDetails; }),
9935
+ classTransformer.Transform(function (_b) {
9936
+ var value = _b.value;
9937
+ return new Collection(value);
9938
+ })
9939
+ ], ReportItem.prototype, "details", void 0);
9841
9940
 
9842
9941
  /**
9843
9942
  * Base class for each sections of Tax Summary report, contains common properties/methods
@@ -11658,6 +11757,7 @@
11658
11757
 
11659
11758
  /**
11660
11759
  * server sent events service
11760
+ * https://symfony.com/doc/current/mercure.html
11661
11761
  */
11662
11762
  var SseService = /** @class */ (function () {
11663
11763
  function SseService(zone, jwtService, environment) {
@@ -14869,7 +14969,7 @@
14869
14969
  if (data === void 0) { data = {}; }
14870
14970
  this.submitted = true;
14871
14971
  this.markAllAsTouched();
14872
- if (!this.valid) {
14972
+ if (!this.disabled && !this.valid) {
14873
14973
  return null;
14874
14974
  }
14875
14975
  var model = this.createModelInstance(Object.assign({}, this.model, this.value, data));
@@ -15460,9 +15560,11 @@
15460
15560
  var MyTaxDeductionsForm = /** @class */ (function (_super) {
15461
15561
  __extends(MyTaxDeductionsForm, _super);
15462
15562
  function MyTaxDeductionsForm(deductions) {
15463
- return _super.call(this, {
15563
+ var _this = this;
15564
+ var _a;
15565
+ _this = _super.call(this, {
15464
15566
  vehicleClaimMethod: new forms.FormControl({
15465
- value: deductions.vehicleClaim.method,
15567
+ value: (_a = deductions.vehicleClaim) === null || _a === void 0 ? void 0 : _a.method,
15466
15568
  disabled: true
15467
15569
  }),
15468
15570
  vehicleExpensesTotalAmount: new forms.FormControl({
@@ -15528,6 +15630,7 @@
15528
15630
  disabled: true
15529
15631
  })
15530
15632
  }) || this;
15633
+ return _this;
15531
15634
  }
15532
15635
  return MyTaxDeductionsForm;
15533
15636
  }(AbstractForm));
@@ -15878,6 +15981,7 @@
15878
15981
  exports.CHART_ACCOUNTS_CATEGORIES = CHART_ACCOUNTS_CATEGORIES;
15879
15982
  exports.CalculationFormItem = CalculationFormItem;
15880
15983
  exports.ChartAccounts = ChartAccounts;
15984
+ exports.ChartAccountsCollection = ChartAccountsCollection;
15881
15985
  exports.ChartAccountsDepreciation = ChartAccountsDepreciation;
15882
15986
  exports.ChartAccountsDepreciationService = ChartAccountsDepreciationService;
15883
15987
  exports.ChartAccountsHeading = ChartAccountsHeading;
@@ -15983,6 +16087,7 @@
15983
16087
  exports.MyTaxDividendsForm = MyTaxDividendsForm;
15984
16088
  exports.MyTaxEmployeeShareSchemes = MyTaxEmployeeShareSchemes;
15985
16089
  exports.MyTaxEmployeeShareSchemesForm = MyTaxEmployeeShareSchemesForm;
16090
+ exports.MyTaxEstimate = MyTaxEstimate;
15986
16091
  exports.MyTaxIncomeStatements = MyTaxIncomeStatements;
15987
16092
  exports.MyTaxIncomeStatementsForm = MyTaxIncomeStatementsForm;
15988
16093
  exports.MyTaxIncomeTests = MyTaxIncomeTests;