taxtank-core 0.28.44 → 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 (37) hide show
  1. package/bundles/taxtank-core.umd.js +468 -12
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/db/Enums/chart-accounts-heading-list.enum.js +20 -1
  4. package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +35 -2
  5. package/esm2015/lib/forms/report/my-tax/index.js +5 -2
  6. 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
  7. 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
  8. package/esm2015/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.js +17 -0
  9. 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
  10. package/esm2015/lib/models/report/my-tax/index.js +6 -2
  11. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.js +27 -0
  12. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.js +11 -0
  13. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.js +16 -0
  14. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.js +15 -0
  15. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.js +77 -0
  16. package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.js +70 -0
  17. package/fesm2015/taxtank-core.js +446 -8
  18. package/fesm2015/taxtank-core.js.map +1 -1
  19. package/lib/db/Enums/chart-accounts-heading-list.enum.d.ts +20 -1
  20. package/lib/db/Enums/chart-accounts-list.enum.d.ts +35 -2
  21. package/lib/forms/report/my-tax/index.d.ts +4 -1
  22. 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
  23. 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
  24. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.d.ts +8 -0
  25. 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
  26. package/lib/models/report/my-tax/index.d.ts +5 -1
  27. package/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.d.ts +8 -0
  28. package/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.d.ts +9 -0
  29. package/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.d.ts +14 -0
  30. package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.d.ts +16 -0
  31. package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.d.ts +29 -0
  32. package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.d.ts +30 -0
  33. package/package.json +1 -1
  34. package/esm2015/lib/forms/report/my-tax/my-tax-business-or-losses.form.js +0 -10
  35. package/esm2015/lib/models/report/my-tax/my-tax-business-or-losses/my-tax-business-or-losses.js +0 -8
  36. package/lib/forms/report/my-tax/my-tax-business-or-losses.form.d.ts +0 -8
  37. 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;
@@ -9363,6 +9396,8 @@
9363
9396
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES"] = 2] = "ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES";
9364
9397
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["AUSTRALIAN_GOVERNMENT_ALLOWANCES_PAYMENTS"] = 4] = "AUSTRALIAN_GOVERNMENT_ALLOWANCES_PAYMENTS";
9365
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";
9366
9401
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["WORK_RELATED_TRAVEL_EXPENSES"] = 10] = "WORK_RELATED_TRAVEL_EXPENSES";
9367
9402
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["COMPULSORY_WORK_UNIFORM"] = 11] = "COMPULSORY_WORK_UNIFORM";
9368
9403
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["PROTECTION_CLOTHING"] = 12] = "PROTECTION_CLOTHING";
@@ -9387,6 +9422,23 @@
9387
9422
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["ETP"] = 39] = "ETP";
9388
9423
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["INTEREST_DEDUCTIONS"] = 47] = "INTEREST_DEDUCTIONS";
9389
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";
9390
9442
  })(exports.ChartAccountsHeadingListEnum || (exports.ChartAccountsHeadingListEnum = {}));
9391
9443
 
9392
9444
  exports.ChartAccountsHeadingTaxableEnum = void 0;
@@ -11074,12 +11126,213 @@
11074
11126
  }(TaxExemptionMetadata$1));
11075
11127
 
11076
11128
  /**
11077
- * @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)
11144
+ */
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")
11078
11158
  */
11079
- var MyTaxBusinessOrLosses = /** @class */ (function () {
11080
- function MyTaxBusinessOrLosses(transactions) {
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;
11081
11166
  }
11082
- return MyTaxBusinessOrLosses;
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');
11266
+ }
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;
11083
11336
  }());
11084
11337
 
11085
11338
  ;
@@ -19024,15 +19277,213 @@
19024
19277
  return PropertySaleExemptionsForm;
19025
19278
  }(AbstractForm));
19026
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
+
19027
19474
  /**
19028
19475
  * @Todo waiting for the Sole tank implementation
19029
19476
  */
19030
- var MyTaxBusinessOrLossesForm = /** @class */ (function (_super) {
19031
- __extends(MyTaxBusinessOrLossesForm, _super);
19032
- function MyTaxBusinessOrLossesForm(businessOrLosses) {
19033
- 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;
19034
19485
  }
19035
- return MyTaxBusinessOrLossesForm;
19486
+ return MyTaxBusinessIncomeOrLossesForm;
19036
19487
  }(AbstractForm));
19037
19488
 
19038
19489
  var MyTaxCgtForm = /** @class */ (function (_super) {
@@ -19724,8 +20175,13 @@
19724
20175
  exports.MessageDocumentService = MessageDocumentService;
19725
20176
  exports.MessageService = MessageService;
19726
20177
  exports.MyAccountHistory = MyAccountHistory;
19727
- exports.MyTaxBusinessOrLosses = MyTaxBusinessOrLosses;
19728
- 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;
19729
20185
  exports.MyTaxCgt = MyTaxCgt;
19730
20186
  exports.MyTaxCgtForm = MyTaxCgtForm;
19731
20187
  exports.MyTaxDeductions = MyTaxDeductions;