taxtank-core 0.28.43 → 0.28.45

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 (47) hide show
  1. package/bundles/taxtank-core.umd.js +555 -57
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/sole/index.js +2 -1
  4. package/esm2015/lib/collections/sole/sole-business-losses.collection.js +28 -0
  5. package/esm2015/lib/collections/transaction/transaction-base.collection.js +9 -3
  6. package/esm2015/lib/db/Enums/chart-accounts-heading-list.enum.js +20 -1
  7. package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +35 -2
  8. package/esm2015/lib/forms/report/my-tax/index.js +5 -2
  9. package/esm2015/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.form.js +33 -0
  10. package/esm2015/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.form.js +81 -0
  11. package/esm2015/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.js +17 -0
  12. package/esm2015/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.form.js +76 -0
  13. package/esm2015/lib/forms/report/my-tax/my-tax-losses.form.js +6 -5
  14. package/esm2015/lib/models/report/my-tax/index.js +6 -2
  15. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.js +27 -0
  16. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.js +11 -0
  17. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.js +16 -0
  18. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.js +15 -0
  19. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.js +77 -0
  20. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.js +70 -0
  21. package/esm2015/lib/models/report/my-tax/my-tax-losses/my-tax-losses.js +8 -5
  22. package/fesm2015/taxtank-core.js +523 -50
  23. package/fesm2015/taxtank-core.js.map +1 -1
  24. package/lib/collections/sole/index.d.ts +1 -0
  25. package/lib/collections/sole/sole-business-losses.collection.d.ts +9 -0
  26. package/lib/collections/transaction/transaction-base.collection.d.ts +5 -2
  27. package/lib/db/Enums/chart-accounts-heading-list.enum.d.ts +20 -1
  28. package/lib/db/Enums/chart-accounts-list.enum.d.ts +35 -2
  29. package/lib/forms/report/my-tax/index.d.ts +4 -1
  30. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.form.d.ts +9 -0
  31. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.form.d.ts +5 -0
  32. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.d.ts +8 -0
  33. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.form.d.ts +5 -0
  34. package/lib/forms/report/my-tax/my-tax-losses.form.d.ts +0 -3
  35. package/lib/models/report/my-tax/index.d.ts +5 -1
  36. package/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.d.ts +8 -0
  37. package/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.d.ts +9 -0
  38. package/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.d.ts +14 -0
  39. package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.d.ts +16 -0
  40. package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.d.ts +29 -0
  41. package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.d.ts +30 -0
  42. package/lib/models/report/my-tax/my-tax-losses/my-tax-losses.d.ts +14 -4
  43. package/package.json +1 -1
  44. package/esm2015/lib/forms/report/my-tax/my-tax-business-or-losses.form.js +0 -10
  45. package/esm2015/lib/models/report/my-tax/my-tax-business-or-losses/my-tax-business-or-losses.js +0 -8
  46. package/lib/forms/report/my-tax/my-tax-business-or-losses.form.d.ts +0 -8
  47. package/lib/models/report/my-tax/my-tax-business-or-losses/my-tax-business-or-losses.d.ts +0 -7
@@ -3239,6 +3239,7 @@
3239
3239
  ChartAccountsListEnum[ChartAccountsListEnum["ADVISOR_FEES"] = 286] = "ADVISOR_FEES";
3240
3240
  ChartAccountsListEnum[ChartAccountsListEnum["INCOME_TAX_VARIATION"] = 292] = "INCOME_TAX_VARIATION";
3241
3241
  ChartAccountsListEnum[ChartAccountsListEnum["PSI_ABN_NOT_QUOTED"] = 294] = "PSI_ABN_NOT_QUOTED";
3242
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_LABOUR_HIRE_OR_OTHER"] = 294] = "PSI_LABOUR_HIRE_OR_OTHER";
3242
3243
  ChartAccountsListEnum[ChartAccountsListEnum["PSI_VOLUNTARY_AGREEMENT"] = 296] = "PSI_VOLUNTARY_AGREEMENT";
3243
3244
  ChartAccountsListEnum[ChartAccountsListEnum["RENTAL_INCOME"] = 298] = "RENTAL_INCOME";
3244
3245
  ChartAccountsListEnum[ChartAccountsListEnum["OTHER_RENTAL_INCOME"] = 300] = "OTHER_RENTAL_INCOME";
@@ -3248,7 +3249,6 @@
3248
3249
  ChartAccountsListEnum[ChartAccountsListEnum["TRANSFER"] = 615] = "TRANSFER";
3249
3250
  ChartAccountsListEnum[ChartAccountsListEnum["BUILDING_AT_COST"] = 304] = "BUILDING_AT_COST";
3250
3251
  ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED_FOR_WORK"] = 24] = "KLMS_TRAVELLED_FOR_WORK";
3251
- ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED"] = 683] = "KLMS_TRAVELLED";
3252
3252
  ChartAccountsListEnum[ChartAccountsListEnum["DIRECTOR_FEES"] = 6] = "DIRECTOR_FEES";
3253
3253
  ChartAccountsListEnum[ChartAccountsListEnum["SALARY_OR_WAGES"] = 2] = "SALARY_OR_WAGES";
3254
3254
  ChartAccountsListEnum[ChartAccountsListEnum["VEHICLES"] = 25] = "VEHICLES";
@@ -3282,9 +3282,42 @@
3282
3282
  ChartAccountsListEnum[ChartAccountsListEnum["ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT"] = 639] = "ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT";
3283
3283
  ChartAccountsListEnum[ChartAccountsListEnum["CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY"] = 558] = "CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY";
3284
3284
  ChartAccountsListEnum[ChartAccountsListEnum["CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH"] = 640] = "CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH";
3285
+ ChartAccountsListEnum[ChartAccountsListEnum["SALES"] = 665] = "SALES";
3286
+ ChartAccountsListEnum[ChartAccountsListEnum["LABOUR"] = 666] = "LABOUR";
3287
+ ChartAccountsListEnum[ChartAccountsListEnum["UBER_INCOME"] = 667] = "UBER_INCOME";
3288
+ ChartAccountsListEnum[ChartAccountsListEnum["COMMISSION"] = 668] = "COMMISSION";
3289
+ ChartAccountsListEnum[ChartAccountsListEnum["PARTS_CONSUMABLES"] = 669] = "PARTS_CONSUMABLES";
3290
+ ChartAccountsListEnum[ChartAccountsListEnum["OTHER_BUSINESS_INCOME"] = 670] = "OTHER_BUSINESS_INCOME";
3291
+ ChartAccountsListEnum[ChartAccountsListEnum["ASSESSIBLE_GOVERNMENT_PAYMENTS"] = 671] = "ASSESSIBLE_GOVERNMENT_PAYMENTS";
3292
+ ChartAccountsListEnum[ChartAccountsListEnum["GROSS_PAYMENTS_NO_ABN_GIVEN"] = 672] = "GROSS_PAYMENTS_NO_ABN_GIVEN";
3293
+ ChartAccountsListEnum[ChartAccountsListEnum["GROSS_PAYMENTS_VOLUNTARY_AGREEMENT"] = 673] = "GROSS_PAYMENTS_VOLUNTARY_AGREEMENT";
3294
+ ChartAccountsListEnum[ChartAccountsListEnum["GROSS_PAYMENTS_LABOUR_HIRE_OR_OTHER_SPECIFIED_PAYMENTS"] = 674] = "GROSS_PAYMENTS_LABOUR_HIRE_OR_OTHER_SPECIFIED_PAYMENTS";
3295
+ ChartAccountsListEnum[ChartAccountsListEnum["PURCHASES_STOCK_INVENTORY"] = 675] = "PURCHASES_STOCK_INVENTORY";
3296
+ ChartAccountsListEnum[ChartAccountsListEnum["CONTRACTORS_AND_COMMISSION"] = 676] = "CONTRACTORS_AND_COMMISSION";
3297
+ ChartAccountsListEnum[ChartAccountsListEnum["SUPERANNUATION"] = 677] = "SUPERANNUATION";
3298
+ ChartAccountsListEnum[ChartAccountsListEnum["BAD_DEBT"] = 678] = "BAD_DEBT";
3299
+ ChartAccountsListEnum[ChartAccountsListEnum["LEASE_EXPENSES_COMMERCIAL"] = 679] = "LEASE_EXPENSES_COMMERCIAL";
3300
+ ChartAccountsListEnum[ChartAccountsListEnum["RENT_EXPENSES_COMMERCIAL_PREMISES"] = 680] = "RENT_EXPENSES_COMMERCIAL_PREMISES";
3301
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EXPENSES_AUSTRALIA"] = 681] = "INTEREST_EXPENSES_AUSTRALIA";
3302
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EXPENSES_OVERSEAS"] = 682] = "INTEREST_EXPENSES_OVERSEAS";
3303
+ ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED"] = 683] = "KLMS_TRAVELLED";
3304
+ ChartAccountsListEnum[ChartAccountsListEnum["FUEL_OIL"] = 684] = "FUEL_OIL";
3305
+ ChartAccountsListEnum[ChartAccountsListEnum["SERVICES_MAINTENANCE"] = 685] = "SERVICES_MAINTENANCE";
3306
+ ChartAccountsListEnum[ChartAccountsListEnum["REGISTRATION"] = 686] = "REGISTRATION";
3307
+ ChartAccountsListEnum[ChartAccountsListEnum["LEASE_INTEREST_PAYMENTS"] = 687] = "LEASE_INTEREST_PAYMENTS";
3308
+ ChartAccountsListEnum[ChartAccountsListEnum["SOLE_VEHICLE_LOAN_INTEREST"] = 688] = "SOLE_VEHICLE_LOAN_INTEREST";
3309
+ ChartAccountsListEnum[ChartAccountsListEnum["INSURANCE"] = 689] = "INSURANCE";
3310
+ ChartAccountsListEnum[ChartAccountsListEnum["TYRES"] = 690] = "TYRES";
3311
+ ChartAccountsListEnum[ChartAccountsListEnum["BATTERIES"] = 691] = "BATTERIES";
3312
+ ChartAccountsListEnum[ChartAccountsListEnum["CAR_WASH"] = 692] = "CAR_WASH";
3313
+ ChartAccountsListEnum[ChartAccountsListEnum["PARKING_TOLLS"] = 693] = "PARKING_TOLLS";
3314
+ ChartAccountsListEnum[ChartAccountsListEnum["OTHER_SOLE_EXPENSES"] = 694] = "OTHER_SOLE_EXPENSES";
3285
3315
  ChartAccountsListEnum[ChartAccountsListEnum["PERSONAL_EXPENSES"] = 628] = "PERSONAL_EXPENSES";
3286
3316
  ChartAccountsListEnum[ChartAccountsListEnum["PERSONAL_INCOME"] = 630] = "PERSONAL_INCOME";
3287
3317
  ChartAccountsListEnum[ChartAccountsListEnum["PLATFORM_FEES"] = 857] = "PLATFORM_FEES";
3318
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_OTHER"] = 858] = "PSI_OTHER";
3319
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_DEDUCTION_ASSOCIATES"] = 859] = "PSI_DEDUCTION_ASSOCIATES";
3320
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_DEDUCTION_OTHER"] = 860] = "PSI_DEDUCTION_OTHER";
3288
3321
  })(exports.ChartAccountsListEnum || (exports.ChartAccountsListEnum = {}));
3289
3322
 
3290
3323
  exports.ChartAccountsCategoryEnum = void 0;
@@ -7341,6 +7374,73 @@
7341
7374
  return VehicleLogbookCollection;
7342
7375
  }(Collection));
7343
7376
 
7377
+ /**
7378
+ * List of objects grouped by passed property
7379
+ */
7380
+ var Dictionary = /** @class */ (function () {
7381
+ function Dictionary(items, path) {
7382
+ if (path === void 0) { path = 'id'; }
7383
+ this.items = {};
7384
+ if (!items.length) {
7385
+ return;
7386
+ }
7387
+ // Do nothing if provided path was not found in the 1st item
7388
+ if (!hasIn__default["default"](items[0], path.split('.')[0])) {
7389
+ return;
7390
+ }
7391
+ this.groupItems(items, path);
7392
+ }
7393
+ Dictionary.prototype.add = function (key, value) {
7394
+ this.items[key] = value;
7395
+ };
7396
+ Dictionary.prototype.get = function (key) {
7397
+ return this.items[key] !== undefined ? this.items[key] : null;
7398
+ };
7399
+ Dictionary.prototype.groupItems = function (items, path) {
7400
+ var _this = this;
7401
+ items.forEach(function (item) {
7402
+ var key = get__default["default"](item, path);
7403
+ // if object does not have property for grouping it will be grouped as 'other'
7404
+ if (key === undefined) {
7405
+ key = 'other';
7406
+ }
7407
+ _this.items[key] = item;
7408
+ });
7409
+ };
7410
+ return Dictionary;
7411
+ }());
7412
+
7413
+ var SoleBusinessLossesCollection = /** @class */ (function (_super) {
7414
+ __extends(SoleBusinessLossesCollection, _super);
7415
+ function SoleBusinessLossesCollection() {
7416
+ return _super !== null && _super.apply(this, arguments) || this;
7417
+ }
7418
+ /**
7419
+ * Calculate business losses applied to the current year
7420
+ */
7421
+ SoleBusinessLossesCollection.prototype.calculateBusinessLossApplied = function (transactions) {
7422
+ var _this = this;
7423
+ var transactionsByBusinessIds = new CollectionDictionary(transactions, 'business.id');
7424
+ // Dictionary with pairs key = business id, value = business claim amount
7425
+ var claimAmountsByBusinessId = new Dictionary([]);
7426
+ transactionsByBusinessIds.keys.forEach(function (businessId) {
7427
+ var businessClaimAmount = transactionsByBusinessIds
7428
+ .get(businessId)
7429
+ .getClaimAmountByBusinessId(+businessId);
7430
+ // only businesses with positive income are included in the calculation
7431
+ if (businessClaimAmount > 0) {
7432
+ claimAmountsByBusinessId.add(businessId, businessClaimAmount);
7433
+ }
7434
+ });
7435
+ return Object.keys(claimAmountsByBusinessId.items).reduce(function (sum, businessId) {
7436
+ var _a;
7437
+ var lossOpenBalance = ((_a = _this.findBy('business.id', +businessId)) === null || _a === void 0 ? void 0 : _a.openBalance) || 0;
7438
+ return sum + Math.min(lossOpenBalance, claimAmountsByBusinessId.get(businessId));
7439
+ }, 0);
7440
+ };
7441
+ return SoleBusinessLossesCollection;
7442
+ }(Collection));
7443
+
7344
7444
  var SoleInvoiceCollection = /** @class */ (function (_super) {
7345
7445
  __extends(SoleInvoiceCollection, _super);
7346
7446
  function SoleInvoiceCollection() {
@@ -7864,8 +7964,14 @@
7864
7964
  function TransactionBaseCollection() {
7865
7965
  return _super !== null && _super.apply(this, arguments) || this;
7866
7966
  }
7867
- TransactionBaseCollection.prototype.getClaimAmountByBusiness = function (business) {
7868
- return +this.filterBy('business.id', business.id).items.map(function (transaction) { return transaction instanceof Depreciation ? -transaction.claimAmount : transaction['claimAmount']; }).reduce(function (sum, claimAmount) { return sum + claimAmount; }, 0).toFixed(2);
7967
+ TransactionBaseCollection.prototype.getClaimAmountByBusinessId = function (businessId) {
7968
+ return +this.filterBy('business.id', businessId).items.map(function (transaction) { return transaction instanceof Depreciation ? -transaction.claimAmount : transaction['claimAmount']; }).reduce(function (sum, claimAmount) { return sum + claimAmount; }, 0).toFixed(2);
7969
+ };
7970
+ /**
7971
+ * Get business related transactions
7972
+ */
7973
+ TransactionBaseCollection.prototype.getWithBusiness = function () {
7974
+ return this.filter(function (transaction) { return !!transaction.business; });
7869
7975
  };
7870
7976
  return TransactionBaseCollection;
7871
7977
  }(Collection));
@@ -8071,42 +8177,6 @@
8071
8177
  return MessageCollection;
8072
8178
  }(Collection));
8073
8179
 
8074
- /**
8075
- * List of objects grouped by passed property
8076
- */
8077
- var Dictionary = /** @class */ (function () {
8078
- function Dictionary(items, path) {
8079
- if (path === void 0) { path = 'id'; }
8080
- this.items = {};
8081
- if (!items.length) {
8082
- return;
8083
- }
8084
- // Do nothing if provided path was not found in the 1st item
8085
- if (!hasIn__default["default"](items[0], path.split('.')[0])) {
8086
- return;
8087
- }
8088
- this.groupItems(items, path);
8089
- }
8090
- Dictionary.prototype.add = function (key, value) {
8091
- this.items[key] = value;
8092
- };
8093
- Dictionary.prototype.get = function (key) {
8094
- return this.items[key] !== undefined ? this.items[key] : null;
8095
- };
8096
- Dictionary.prototype.groupItems = function (items, path) {
8097
- var _this = this;
8098
- items.forEach(function (item) {
8099
- var key = get__default["default"](item, path);
8100
- // if object does not have property for grouping it will be grouped as 'other'
8101
- if (key === undefined) {
8102
- key = 'other';
8103
- }
8104
- _this.items[key] = item;
8105
- });
8106
- };
8107
- return Dictionary;
8108
- }());
8109
-
8110
8180
  exports.ChatStatusEnum = void 0;
8111
8181
  (function (ChatStatusEnum) {
8112
8182
  ChatStatusEnum[ChatStatusEnum["ACTIVE"] = 1] = "ACTIVE";
@@ -9326,6 +9396,8 @@
9326
9396
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES"] = 2] = "ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES";
9327
9397
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["AUSTRALIAN_GOVERNMENT_ALLOWANCES_PAYMENTS"] = 4] = "AUSTRALIAN_GOVERNMENT_ALLOWANCES_PAYMENTS";
9328
9398
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["AUSTRALIAN_GOVERNMENT_PENSIONS_ALLOWANCES"] = 5] = "AUSTRALIAN_GOVERNMENT_PENSIONS_ALLOWANCES";
9399
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["WORK_RELATED_CAR_EXPENSES"] = 8] = "WORK_RELATED_CAR_EXPENSES";
9400
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["DEPRECIATION_VEHICLES"] = 9] = "DEPRECIATION_VEHICLES";
9329
9401
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["WORK_RELATED_TRAVEL_EXPENSES"] = 10] = "WORK_RELATED_TRAVEL_EXPENSES";
9330
9402
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["COMPULSORY_WORK_UNIFORM"] = 11] = "COMPULSORY_WORK_UNIFORM";
9331
9403
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["PROTECTION_CLOTHING"] = 12] = "PROTECTION_CLOTHING";
@@ -9350,6 +9422,23 @@
9350
9422
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["ETP"] = 39] = "ETP";
9351
9423
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["INTEREST_DEDUCTIONS"] = 47] = "INTEREST_DEDUCTIONS";
9352
9424
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["DIVIDEND_DEDUCTIONS"] = 48] = "DIVIDEND_DEDUCTIONS";
9425
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["PURCHASES_STOCK_INVENTORY"] = 52] = "PURCHASES_STOCK_INVENTORY";
9426
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["CONTRACTORS_COMMISSION"] = 53] = "CONTRACTORS_COMMISSION";
9427
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["SUPERANNUATION"] = 54] = "SUPERANNUATION";
9428
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["BAD_DEBT"] = 55] = "BAD_DEBT";
9429
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["LEASE_EXPENSES"] = 56] = "LEASE_EXPENSES";
9430
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["RENT_EXPENSES"] = 57] = "RENT_EXPENSES";
9431
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["INTEREST_EXPENSES_AUSTRALIA"] = 58] = "INTEREST_EXPENSES_AUSTRALIA";
9432
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["INTEREST_EXPENSES_OVERSEAS"] = 59] = "INTEREST_EXPENSES_OVERSEAS";
9433
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["KLMS"] = 60] = "KLMS";
9434
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["FUEL_OIL"] = 61] = "FUEL_OIL";
9435
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["SERVICES_MAINTENANCE"] = 62] = "SERVICES_MAINTENANCE";
9436
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["REGISTRATION"] = 63] = "REGISTRATION";
9437
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["LEASE_INTEREST_PAYMENTS"] = 64] = "LEASE_INTEREST_PAYMENTS";
9438
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["INSURANCE"] = 65] = "INSURANCE";
9439
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["TYRES_BATTERIES"] = 66] = "TYRES_BATTERIES";
9440
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["OTHER_EXPENSES"] = 67] = "OTHER_EXPENSES";
9441
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["DEPRECIATION_EXPENSES"] = 68] = "DEPRECIATION_EXPENSES";
9353
9442
  })(exports.ChartAccountsHeadingListEnum || (exports.ChartAccountsHeadingListEnum = {}));
9354
9443
 
9355
9444
  exports.ChartAccountsHeadingTaxableEnum = void 0;
@@ -11037,12 +11126,213 @@
11037
11126
  }(TaxExemptionMetadata$1));
11038
11127
 
11039
11128
  /**
11040
- * @Todo waiting for the Sole tank implementation
11129
+ * Enum with type of business for My Tax report
11130
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form
11131
+ * ("Business income or losses" section, "F. Type of business" field)
11132
+ */
11133
+ exports.BusinessTypeEnum = void 0;
11134
+ (function (BusinessTypeEnum) {
11135
+ BusinessTypeEnum[BusinessTypeEnum["PARTNERSHIP"] = 0] = "PARTNERSHIP";
11136
+ BusinessTypeEnum[BusinessTypeEnum["SOLE_TRADER"] = 1] = "SOLE_TRADER";
11137
+ })(exports.BusinessTypeEnum || (exports.BusinessTypeEnum = {}));
11138
+
11139
+ /**
11140
+ * Enum with business loss types
11141
+ * Values are related to SoleBusinessLossOffsetRule ids
11142
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form
11143
+ * ("Business income or losses" section, "G. Type of loss" field)
11041
11144
  */
11042
- var MyTaxBusinessOrLosses = /** @class */ (function () {
11043
- function MyTaxBusinessOrLosses(transactions) {
11145
+ exports.LossTypeEnum = void 0;
11146
+ (function (LossTypeEnum) {
11147
+ LossTypeEnum[LossTypeEnum["ASSESSABLE_INCOME_TEST"] = 2] = "ASSESSABLE_INCOME_TEST";
11148
+ LossTypeEnum[LossTypeEnum["PROFIT_TEST"] = 3] = "PROFIT_TEST";
11149
+ LossTypeEnum[LossTypeEnum["REAL_PROPERTY_TEST"] = 4] = "REAL_PROPERTY_TEST";
11150
+ LossTypeEnum[LossTypeEnum["OTHER_ASSETS_TEST"] = 5] = "OTHER_ASSETS_TEST";
11151
+ LossTypeEnum[LossTypeEnum["COMMISSIONERS_DISCRETION"] = 8] = "COMMISSIONERS_DISCRETION";
11152
+ LossTypeEnum[LossTypeEnum["PRIMARY_PRODUCTION_AND_ARTS_BUSINESS"] = 7] = "PRIMARY_PRODUCTION_AND_ARTS_BUSINESS";
11153
+ })(exports.LossTypeEnum || (exports.LossTypeEnum = {}));
11154
+
11155
+ /**
11156
+ * Main information of Sole businesses
11157
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form (section "Business income or losses")
11158
+ */
11159
+ var MyTaxBusinessDetails = /** @class */ (function () {
11160
+ function MyTaxBusinessDetails(vehicleClaimDetails, businesses, soleDetails, user) {
11161
+ var _a;
11162
+ this.businessActivities = uniqBy__default["default"](businesses.mapBy('activity'), 'id');
11163
+ this.businessABN = soleDetails === null || soleDetails === void 0 ? void 0 : soleDetails.abn;
11164
+ this.businessAddress = (_a = user.address) === null || _a === void 0 ? void 0 : _a.name;
11165
+ this.vehicleClaimDetails = vehicleClaimDetails;
11166
+ }
11167
+ return MyTaxBusinessDetails;
11168
+ }());
11169
+
11170
+ /**
11171
+ * Const with the categories for my-tax 'Business income or losses' report.
11172
+ * Grouped by ChartAccountsHeadingListEnum / ChartAccountsListEnum based on rules from documentation
11173
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form (section "Business income or losses")
11174
+ */
11175
+ var BUSINESS_INCOME_OR_LOSSES_CATEGORIES = {
11176
+ psiIncomes: [
11177
+ exports.ChartAccountsListEnum.PSI_VOLUNTARY_AGREEMENT,
11178
+ exports.ChartAccountsListEnum.PSI_ABN_NOT_QUOTED,
11179
+ exports.ChartAccountsListEnum.PSI_LABOUR_HIRE_OR_OTHER,
11180
+ exports.ChartAccountsListEnum.PSI_OTHER,
11181
+ ],
11182
+ psiDeductions: [
11183
+ exports.ChartAccountsListEnum.PSI_DEDUCTION_ASSOCIATES,
11184
+ exports.ChartAccountsListEnum.PSI_DEDUCTION_OTHER
11185
+ ],
11186
+ otherBusinessIncome: [
11187
+ exports.ChartAccountsListEnum.SALES,
11188
+ exports.ChartAccountsListEnum.LABOUR,
11189
+ exports.ChartAccountsListEnum.UBER_INCOME,
11190
+ exports.ChartAccountsListEnum.COMMISSION,
11191
+ exports.ChartAccountsListEnum.PARTS_CONSUMABLES,
11192
+ exports.ChartAccountsListEnum.OTHER_BUSINESS_INCOME
11193
+ ]
11194
+ };
11195
+
11196
+ /**
11197
+ * Sole business information related to income transactions
11198
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form (section "Business income or losses")
11199
+ */
11200
+ var MyTaxBusinessIncome = /** @class */ (function () {
11201
+ function MyTaxBusinessIncome(psiIncome, soleIncome) {
11202
+ this.psiIncomeAmount = psiIncome.filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.PSI).amount;
11203
+ this.psiVoluntaryAgreementAmount = psiIncome
11204
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PSI_VOLUNTARY_AGREEMENT)
11205
+ .amount;
11206
+ this.psiABNNotQuotedAmount = psiIncome
11207
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PSI_ABN_NOT_QUOTED)
11208
+ .amount;
11209
+ this.psiLabourHireOrOtherAmount = psiIncome
11210
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PSI_LABOUR_HIRE_OR_OTHER)
11211
+ .amount;
11212
+ this.psiOtherAmount = psiIncome
11213
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PSI_OTHER)
11214
+ .amount;
11215
+ this.psiDeductionAssociatesAmount = psiIncome
11216
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PSI_DEDUCTION_ASSOCIATES)
11217
+ .amount;
11218
+ this.psiDeductionOtherAmount = psiIncome
11219
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PSI_DEDUCTION_OTHER)
11220
+ .amount;
11221
+ this.netPSIAmount = psiIncome
11222
+ .filterBy('chartAccounts.id', BUSINESS_INCOME_OR_LOSSES_CATEGORIES.psiIncomes)
11223
+ .amount -
11224
+ psiIncome
11225
+ .filterBy('chartAccounts.id', BUSINESS_INCOME_OR_LOSSES_CATEGORIES.psiDeductions)
11226
+ .amount;
11227
+ this.psiVoluntaryAgreementTax = psiIncome
11228
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PSI_VOLUNTARY_AGREEMENT)
11229
+ .sumBy('tax');
11230
+ this.psiABNNotQuotedTax = psiIncome
11231
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PSI_ABN_NOT_QUOTED)
11232
+ .sumBy('tax');
11233
+ this.psiLabourHireOrOtherTax = psiIncome
11234
+ .filterBy('chartAccounts.id', [exports.ChartAccountsListEnum.PSI_LABOUR_HIRE_OR_OTHER, exports.ChartAccountsListEnum.PSI_OTHER])
11235
+ .sumBy('tax');
11236
+ this.netPSITax = psiIncome
11237
+ .filterBy('chartAccounts.id', BUSINESS_INCOME_OR_LOSSES_CATEGORIES.psiIncomes)
11238
+ .sumBy('tax');
11239
+ this.grossPaymentsNoAbsGivenAmount = soleIncome
11240
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.GROSS_PAYMENTS_NO_ABN_GIVEN)
11241
+ .amount;
11242
+ this.grossPaymentsVoluntaryAgreementAmount = soleIncome
11243
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.GROSS_PAYMENTS_VOLUNTARY_AGREEMENT)
11244
+ .amount;
11245
+ this.grossPaymentsLabourHireAmount = soleIncome
11246
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.GROSS_PAYMENTS_LABOUR_HIRE_OR_OTHER_SPECIFIED_PAYMENTS)
11247
+ .amount;
11248
+ this.assessibleGovernmentPaymentsAmount = soleIncome
11249
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.ASSESSIBLE_GOVERNMENT_PAYMENTS)
11250
+ .amount;
11251
+ this.otherBusinessIncomeAmount = soleIncome
11252
+ .filterBy('chartAccounts.id', BUSINESS_INCOME_OR_LOSSES_CATEGORIES.otherBusinessIncome)
11253
+ .amount;
11254
+ this.nonPrimaryProductionTotalAmount = soleIncome
11255
+ .filterBy('chartAccounts.category', exports.ChartAccountsCategoryEnum.SOLE_INCOME)
11256
+ .amount;
11257
+ this.grossPaymentsNoAbsGivenTax = soleIncome
11258
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.GROSS_PAYMENTS_NO_ABN_GIVEN)
11259
+ .sumBy('tax');
11260
+ this.grossPaymentsVoluntaryAgreementTax = soleIncome
11261
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.GROSS_PAYMENTS_VOLUNTARY_AGREEMENT)
11262
+ .sumBy('tax');
11263
+ this.grossPaymentsLabourHireTax = soleIncome
11264
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.GROSS_PAYMENTS_LABOUR_HIRE_OR_OTHER_SPECIFIED_PAYMENTS)
11265
+ .sumBy('tax');
11044
11266
  }
11045
- return MyTaxBusinessOrLosses;
11267
+ return MyTaxBusinessIncome;
11268
+ }());
11269
+
11270
+ /**
11271
+ * Sole business information related to expense transactions (losses)
11272
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form (section "Business income or losses")
11273
+ */
11274
+ var MyTaxBusinessLosses = /** @class */ (function () {
11275
+ function MyTaxBusinessLosses(transactions, depreciations, businessLosses, currentLoss) {
11276
+ this.currentLoss = currentLoss;
11277
+ this.purchasesAndOtherCostsAmount = Math.abs(transactions.getExpenseTransactions()
11278
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PURCHASES_STOCK_INVENTORY)
11279
+ .sumBy('claimAmount'));
11280
+ this.contractorsAndCommissionAmount = Math.abs(transactions.getExpenseTransactions()
11281
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.CONTRACTORS_AND_COMMISSION)
11282
+ .sumBy('claimAmount'));
11283
+ this.superannuationAmount = Math.abs(transactions.getExpenseTransactions()
11284
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.SUPERANNUATION)
11285
+ .sumBy('claimAmount'));
11286
+ this.badDebtAmount = Math.abs(transactions.getExpenseTransactions()
11287
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.BAD_DEBT)
11288
+ .sumBy('claimAmount'));
11289
+ this.leaseExpensesCommercialAmount = Math.abs(transactions.getExpenseTransactions()
11290
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.LEASE_EXPENSES_COMMERCIAL)
11291
+ .sumBy('claimAmount'));
11292
+ this.rentExpensesCommercialPremisesAmount = Math.abs(transactions.getExpenseTransactions()
11293
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.RENT_EXPENSES_COMMERCIAL_PREMISES)
11294
+ .sumBy('claimAmount'));
11295
+ this.interestExpensesAustraliaAmount = Math.abs(transactions.getExpenseTransactions()
11296
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.INTEREST_EXPENSES_AUSTRALIA)
11297
+ .sumBy('claimAmount'));
11298
+ this.interestExpensesOverseasAmount = Math.abs(transactions.getExpenseTransactions()
11299
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.INTEREST_EXPENSES_OVERSEAS)
11300
+ .sumBy('claimAmount'));
11301
+ this.kmsTravelledExpensesAmount = Math.abs(transactions
11302
+ .filterBy('chartAccounts.heading.id', [exports.ChartAccountsHeadingListEnum.WORK_RELATED_CAR_EXPENSES, exports.ChartAccountsHeadingListEnum.DEPRECIATION_VEHICLES])
11303
+ .sumBy('claimAmount'));
11304
+ this.otherExpensesAmount = Math.abs(transactions
11305
+ .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.OTHER_EXPENSES)
11306
+ .sumBy('claimAmount'));
11307
+ this.totalNonPrimaryProductionExpensesAmount = Math.abs(transactions
11308
+ .filterBy('chartAccounts.category', [exports.ChartAccountsCategoryEnum.SOLE_EXPENSE, exports.ChartAccountsCategoryEnum.SOLE_DEPRECIATION])
11309
+ .sumBy('claimAmount'));
11310
+ // depreciations
11311
+ this.depreciationExpensesAmount = depreciations
11312
+ .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.DEPRECIATION_EXPENSES)
11313
+ .sumBy('claimAmount');
11314
+ this.deductionsForCertainAssetsAmount = depreciations
11315
+ .getWrittenOffDepreciations()
11316
+ .sumBy('claimAmount');
11317
+ this.deductionsForGeneralSmallBusinessPoolAmount = depreciations
11318
+ .getSBPDepreciations()
11319
+ .sumBy('claimAmount');
11320
+ this.currentYearNetNonPrimaryIncomeOrLossesAmount = transactions.getIncomeTransactions()
11321
+ .filterBy('chartAccounts.category', exports.ChartAccountsCategoryEnum.SOLE_INCOME)
11322
+ .amount -
11323
+ Math.abs(transactions
11324
+ .filterBy('chartAccounts.category', [exports.ChartAccountsCategoryEnum.SOLE_EXPENSE, exports.ChartAccountsCategoryEnum.SOLE_DEPRECIATION])
11325
+ .sumBy('claimAmount'));
11326
+ this.priorYearsNonPrimaryLossesAmount = this.calculatePriorYearsOpenBalance(businessLosses);
11327
+ this.netNonPrimaryIncomeOrLossesAmount = transactions.getIncomeTransactions()
11328
+ .filterBy('chartAccounts.category', exports.ChartAccountsCategoryEnum.SOLE_INCOME)
11329
+ .amount -
11330
+ this.priorYearsNonPrimaryLossesAmount;
11331
+ }
11332
+ MyTaxBusinessLosses.prototype.calculatePriorYearsOpenBalance = function (businessLosses) {
11333
+ return businessLosses ? businessLosses.sumBy('openBalance') : 0;
11334
+ };
11335
+ return MyTaxBusinessLosses;
11046
11336
  }());
11047
11337
 
11048
11338
  ;
@@ -11411,11 +11701,15 @@
11411
11701
  }());
11412
11702
 
11413
11703
  /**
11414
- * @Todo waiting for Sole tank implementation
11704
+ * Sole business losses report
11705
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Losses" section)
11415
11706
  */
11416
11707
  var MyTaxLosses = /** @class */ (function () {
11417
- function MyTaxLosses(transactions) {
11418
- this.transactions = transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.DIVIDENDS);
11708
+ function MyTaxLosses(transactions, businessLosses) {
11709
+ this.transactions = transactions;
11710
+ this.businessLosses = businessLosses;
11711
+ this.businessLossDeferred = businessLosses.sumBy('openBalance');
11712
+ this.businessLossApplied = businessLosses.calculateBusinessLossApplied(transactions);
11419
11713
  }
11420
11714
  return MyTaxLosses;
11421
11715
  }());
@@ -18983,15 +19277,213 @@
18983
19277
  return PropertySaleExemptionsForm;
18984
19278
  }(AbstractForm));
18985
19279
 
19280
+ var MyTaxBusinessDetailsForm = /** @class */ (function (_super) {
19281
+ __extends(MyTaxBusinessDetailsForm, _super);
19282
+ function MyTaxBusinessDetailsForm(businessDetails) {
19283
+ var _this = this;
19284
+ var _a, _b;
19285
+ _this = _super.call(this, {
19286
+ vehicleClaimMethod: new forms.FormControl({
19287
+ value: (_a = businessDetails.vehicleClaimDetails) === null || _a === void 0 ? void 0 : _a.method,
19288
+ disabled: true
19289
+ }),
19290
+ businessType: new forms.FormControl({ value: exports.BusinessTypeEnum.SOLE_TRADER, disabled: true }),
19291
+ // business details
19292
+ mainBusinessActivity: new forms.FormControl(businessDetails.businessActivities[0]),
19293
+ mainBusinessName: new forms.FormControl({ value: (_b = businessDetails.businesses) === null || _b === void 0 ? void 0 : _b.first.name, disabled: true }),
19294
+ mainBusinessABN: new forms.FormControl({ value: businessDetails.businessABN, disabled: true }),
19295
+ mainBusinessAddress: new forms.FormControl({ value: businessDetails.businessAddress, disabled: true }),
19296
+ // By default, we show it as 1, but user can change it
19297
+ numberOfBusinessActivities: new forms.FormControl(1)
19298
+ }) || this;
19299
+ _this.businessDetails = businessDetails;
19300
+ _this.listenEvents();
19301
+ return _this;
19302
+ }
19303
+ MyTaxBusinessDetailsForm.prototype.listenEvents = function () {
19304
+ this.listenMainBusinessActivityChanged();
19305
+ };
19306
+ MyTaxBusinessDetailsForm.prototype.listenMainBusinessActivityChanged = function () {
19307
+ var _this = this;
19308
+ this.get('mainBusinessActivity').valueChanges.subscribe(function (activity) {
19309
+ _this.get('mainBusinessName').setValue(_this.businessDetails.businesses.findBy('activity.id', activity.id).name);
19310
+ });
19311
+ };
19312
+ return MyTaxBusinessDetailsForm;
19313
+ }(AbstractForm));
19314
+
19315
+ var MyTaxBusinessIncomeForm = /** @class */ (function (_super) {
19316
+ __extends(MyTaxBusinessIncomeForm, _super);
19317
+ function MyTaxBusinessIncomeForm(businessIncome) {
19318
+ return _super.call(this, {
19319
+ // Set in "false" if user has PSI income
19320
+ // https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form
19321
+ // ("Business income or losses" section, "P1. Did you satisfy the results test?" field)
19322
+ isTestResultsSatisfied: new forms.FormControl(!businessIncome.psiIncomeAmount),
19323
+ psiVoluntaryAgreementAmount: new forms.FormControl({
19324
+ value: businessIncome.psiVoluntaryAgreementAmount,
19325
+ disabled: true
19326
+ }),
19327
+ psiABNNotQuotedAmount: new forms.FormControl({
19328
+ value: businessIncome.psiABNNotQuotedAmount,
19329
+ disabled: true
19330
+ }),
19331
+ psiLabourHireOrOtherAmount: new forms.FormControl({
19332
+ value: businessIncome.psiLabourHireOrOtherAmount,
19333
+ disabled: true
19334
+ }),
19335
+ psiOtherAmount: new forms.FormControl({
19336
+ value: businessIncome.psiOtherAmount,
19337
+ disabled: true
19338
+ }),
19339
+ psiDeductionAssociatesAmount: new forms.FormControl({
19340
+ value: businessIncome.psiDeductionAssociatesAmount,
19341
+ disabled: true
19342
+ }),
19343
+ psiDeductionOtherAmount: new forms.FormControl({
19344
+ value: businessIncome.psiDeductionOtherAmount,
19345
+ disabled: true
19346
+ }),
19347
+ psiVoluntaryAgreementTax: new forms.FormControl({
19348
+ value: businessIncome.psiVoluntaryAgreementTax,
19349
+ disabled: true
19350
+ }),
19351
+ psiABNNotQuotedTax: new forms.FormControl({
19352
+ value: businessIncome.psiABNNotQuotedTax,
19353
+ disabled: true
19354
+ }),
19355
+ psiLabourHireOrOtherTax: new forms.FormControl({
19356
+ value: businessIncome.psiLabourHireOrOtherTax,
19357
+ disabled: true
19358
+ }),
19359
+ grossPaymentsNoAbsGivenAmount: new forms.FormControl({
19360
+ value: businessIncome.grossPaymentsNoAbsGivenAmount,
19361
+ disabled: true
19362
+ }),
19363
+ grossPaymentsVoluntaryAgreementAmount: new forms.FormControl({
19364
+ value: businessIncome.grossPaymentsVoluntaryAgreementAmount,
19365
+ disabled: true
19366
+ }),
19367
+ grossPaymentsLabourHireAmount: new forms.FormControl({
19368
+ value: businessIncome.grossPaymentsLabourHireAmount,
19369
+ disabled: true
19370
+ }),
19371
+ assessibleGovernmentPaymentsAmount: new forms.FormControl({
19372
+ value: businessIncome.assessibleGovernmentPaymentsAmount,
19373
+ disabled: true
19374
+ }),
19375
+ otherBusinessIncomeAmount: new forms.FormControl({
19376
+ value: businessIncome.otherBusinessIncomeAmount,
19377
+ disabled: true
19378
+ }),
19379
+ grossPaymentsNoAbsGivenTax: new forms.FormControl({
19380
+ value: businessIncome.grossPaymentsNoAbsGivenTax,
19381
+ disabled: true
19382
+ }),
19383
+ grossPaymentsVoluntaryAgreementTax: new forms.FormControl({
19384
+ value: businessIncome.grossPaymentsVoluntaryAgreementTax,
19385
+ disabled: true
19386
+ }),
19387
+ grossPaymentsLabourHireTax: new forms.FormControl({
19388
+ value: businessIncome.grossPaymentsLabourHireTax,
19389
+ disabled: true
19390
+ }),
19391
+ }) || this;
19392
+ }
19393
+ return MyTaxBusinessIncomeForm;
19394
+ }(AbstractForm));
19395
+
19396
+ var MyTaxBusinessLossesForm = /** @class */ (function (_super) {
19397
+ __extends(MyTaxBusinessLossesForm, _super);
19398
+ function MyTaxBusinessLossesForm(businessLosses) {
19399
+ var _this = this;
19400
+ var _a, _b;
19401
+ _this = _super.call(this, {
19402
+ purchasesAndOtherCostsAmount: new forms.FormControl({
19403
+ value: businessLosses.purchasesAndOtherCostsAmount,
19404
+ disabled: true
19405
+ }),
19406
+ contractorsAndCommissionAmount: new forms.FormControl({
19407
+ value: businessLosses.contractorsAndCommissionAmount,
19408
+ disabled: true
19409
+ }),
19410
+ superannuationAmount: new forms.FormControl({
19411
+ value: businessLosses.superannuationAmount,
19412
+ disabled: true
19413
+ }),
19414
+ badDebtAmount: new forms.FormControl({
19415
+ value: businessLosses.badDebtAmount,
19416
+ disabled: true
19417
+ }),
19418
+ leaseExpensesCommercialAmount: new forms.FormControl({
19419
+ value: businessLosses.leaseExpensesCommercialAmount,
19420
+ disabled: true
19421
+ }),
19422
+ rentExpensesCommercialPremisesAmount: new forms.FormControl({
19423
+ value: businessLosses.rentExpensesCommercialPremisesAmount,
19424
+ disabled: true
19425
+ }),
19426
+ interestExpensesAustraliaAmount: new forms.FormControl({
19427
+ value: businessLosses.interestExpensesAustraliaAmount,
19428
+ disabled: true
19429
+ }),
19430
+ interestExpensesOverseasAmount: new forms.FormControl({
19431
+ value: businessLosses.interestExpensesOverseasAmount,
19432
+ disabled: true
19433
+ }),
19434
+ kmsTravelledExpensesAmount: new forms.FormControl({
19435
+ value: businessLosses.kmsTravelledExpensesAmount,
19436
+ disabled: true
19437
+ }),
19438
+ otherExpensesAmount: new forms.FormControl({
19439
+ value: businessLosses.otherExpensesAmount,
19440
+ disabled: true
19441
+ }),
19442
+ totalNonPrimaryProductionExpensesAmount: new forms.FormControl({
19443
+ value: businessLosses.totalNonPrimaryProductionExpensesAmount,
19444
+ disabled: true
19445
+ }),
19446
+ // depreciations
19447
+ depreciationExpensesAmount: new forms.FormControl({
19448
+ value: businessLosses.depreciationExpensesAmount,
19449
+ disabled: true
19450
+ }),
19451
+ deductionsForCertainAssetsAmount: new forms.FormControl({
19452
+ value: businessLosses.deductionsForCertainAssetsAmount,
19453
+ disabled: true
19454
+ }),
19455
+ deductionsForGeneralSmallBusinessPoolAmount: new forms.FormControl({
19456
+ value: businessLosses.deductionsForGeneralSmallBusinessPoolAmount,
19457
+ disabled: true
19458
+ }),
19459
+ currentYearNetNonPrimaryIncomeOrLossesAmount: new forms.FormControl({
19460
+ value: businessLosses.currentYearNetNonPrimaryIncomeOrLossesAmount,
19461
+ disabled: true
19462
+ }),
19463
+ priorYearsNonPrimaryLossesAmount: new forms.FormControl({
19464
+ value: businessLosses.priorYearsNonPrimaryLossesAmount,
19465
+ disabled: true
19466
+ }),
19467
+ lossType: new forms.FormControl((_b = (_a = businessLosses.currentLoss) === null || _a === void 0 ? void 0 : _a.offsetRule) === null || _b === void 0 ? void 0 : _b.id, forms.Validators.required),
19468
+ }) || this;
19469
+ return _this;
19470
+ }
19471
+ return MyTaxBusinessLossesForm;
19472
+ }(AbstractForm));
19473
+
18986
19474
  /**
18987
19475
  * @Todo waiting for the Sole tank implementation
18988
19476
  */
18989
- var MyTaxBusinessOrLossesForm = /** @class */ (function (_super) {
18990
- __extends(MyTaxBusinessOrLossesForm, _super);
18991
- function MyTaxBusinessOrLossesForm(businessOrLosses) {
18992
- return _super.call(this, {}) || this;
19477
+ var MyTaxBusinessIncomeOrLossesForm = /** @class */ (function (_super) {
19478
+ __extends(MyTaxBusinessIncomeOrLossesForm, _super);
19479
+ function MyTaxBusinessIncomeOrLossesForm(businessDetails, businessIncome, businessLosses) {
19480
+ return _super.call(this, {
19481
+ businessDetails: new MyTaxBusinessDetailsForm(businessDetails),
19482
+ businessIncome: new MyTaxBusinessIncomeForm(businessIncome),
19483
+ businessLosses: new MyTaxBusinessLossesForm(businessLosses),
19484
+ }) || this;
18993
19485
  }
18994
- return MyTaxBusinessOrLossesForm;
19486
+ return MyTaxBusinessIncomeOrLossesForm;
18995
19487
  }(AbstractForm));
18996
19488
 
18997
19489
  var MyTaxCgtForm = /** @class */ (function (_super) {
@@ -19254,13 +19746,13 @@
19254
19746
  return MyTaxInterestForm;
19255
19747
  }(AbstractForm));
19256
19748
 
19257
- /**
19258
- * @Todo waiting for Sole tank implementation
19259
- */
19260
19749
  var MyTaxLossesForm = /** @class */ (function (_super) {
19261
19750
  __extends(MyTaxLossesForm, _super);
19262
19751
  function MyTaxLossesForm(losses) {
19263
- return _super.call(this, {}) || this;
19752
+ return _super.call(this, {
19753
+ businessLossDeferred: new forms.FormControl(losses.businessLossDeferred),
19754
+ businessLossApplied: new forms.FormControl(losses.businessLossApplied)
19755
+ }) || this;
19264
19756
  }
19265
19757
  return MyTaxLossesForm;
19266
19758
  }(AbstractForm));
@@ -19683,8 +20175,13 @@
19683
20175
  exports.MessageDocumentService = MessageDocumentService;
19684
20176
  exports.MessageService = MessageService;
19685
20177
  exports.MyAccountHistory = MyAccountHistory;
19686
- exports.MyTaxBusinessOrLosses = MyTaxBusinessOrLosses;
19687
- exports.MyTaxBusinessOrLossesForm = MyTaxBusinessOrLossesForm;
20178
+ exports.MyTaxBusinessDetails = MyTaxBusinessDetails;
20179
+ exports.MyTaxBusinessDetailsForm = MyTaxBusinessDetailsForm;
20180
+ exports.MyTaxBusinessIncome = MyTaxBusinessIncome;
20181
+ exports.MyTaxBusinessIncomeForm = MyTaxBusinessIncomeForm;
20182
+ exports.MyTaxBusinessIncomeOrLossesForm = MyTaxBusinessIncomeOrLossesForm;
20183
+ exports.MyTaxBusinessLosses = MyTaxBusinessLosses;
20184
+ exports.MyTaxBusinessLossesForm = MyTaxBusinessLossesForm;
19688
20185
  exports.MyTaxCgt = MyTaxCgt;
19689
20186
  exports.MyTaxCgtForm = MyTaxCgtForm;
19690
20187
  exports.MyTaxDeductions = MyTaxDeductions;
@@ -19789,6 +20286,7 @@
19789
20286
  exports.SoleBusinessLossOffsetRuleService = SoleBusinessLossOffsetRuleService;
19790
20287
  exports.SoleBusinessLossReport = SoleBusinessLossReport;
19791
20288
  exports.SoleBusinessLossService = SoleBusinessLossService;
20289
+ exports.SoleBusinessLossesCollection = SoleBusinessLossesCollection;
19792
20290
  exports.SoleBusinessService = SoleBusinessService;
19793
20291
  exports.SoleContact = SoleContact;
19794
20292
  exports.SoleContactForm = SoleContactForm;