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.
- package/bundles/taxtank-core.umd.js +555 -57
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/sole/index.js +2 -1
- package/esm2015/lib/collections/sole/sole-business-losses.collection.js +28 -0
- package/esm2015/lib/collections/transaction/transaction-base.collection.js +9 -3
- package/esm2015/lib/db/Enums/chart-accounts-heading-list.enum.js +20 -1
- package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +35 -2
- package/esm2015/lib/forms/report/my-tax/index.js +5 -2
- 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
- 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
- package/esm2015/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.js +17 -0
- 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
- package/esm2015/lib/forms/report/my-tax/my-tax-losses.form.js +6 -5
- package/esm2015/lib/models/report/my-tax/index.js +6 -2
- package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.js +27 -0
- package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.js +11 -0
- package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.js +16 -0
- package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.js +15 -0
- package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.js +77 -0
- package/esm2015/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.js +70 -0
- package/esm2015/lib/models/report/my-tax/my-tax-losses/my-tax-losses.js +8 -5
- package/fesm2015/taxtank-core.js +523 -50
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/sole/index.d.ts +1 -0
- package/lib/collections/sole/sole-business-losses.collection.d.ts +9 -0
- package/lib/collections/transaction/transaction-base.collection.d.ts +5 -2
- package/lib/db/Enums/chart-accounts-heading-list.enum.d.ts +20 -1
- package/lib/db/Enums/chart-accounts-list.enum.d.ts +35 -2
- package/lib/forms/report/my-tax/index.d.ts +4 -1
- 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
- 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
- package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.d.ts +8 -0
- 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
- package/lib/forms/report/my-tax/my-tax-losses.form.d.ts +0 -3
- package/lib/models/report/my-tax/index.d.ts +5 -1
- package/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.d.ts +8 -0
- package/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.d.ts +9 -0
- package/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.d.ts +14 -0
- package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.d.ts +16 -0
- package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.d.ts +29 -0
- package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.d.ts +30 -0
- package/lib/models/report/my-tax/my-tax-losses/my-tax-losses.d.ts +14 -4
- package/package.json +1 -1
- package/esm2015/lib/forms/report/my-tax/my-tax-business-or-losses.form.js +0 -10
- package/esm2015/lib/models/report/my-tax/my-tax-business-or-losses/my-tax-business-or-losses.js +0 -8
- package/lib/forms/report/my-tax/my-tax-business-or-losses.form.d.ts +0 -8
- package/lib/models/report/my-tax/my-tax-business-or-losses/my-tax-business-or-losses.d.ts +0 -7
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import uniqBy from 'lodash/uniqBy';
|
|
2
|
+
/**
|
|
3
|
+
* Main information of Sole businesses
|
|
4
|
+
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form (section "Business income or losses")
|
|
5
|
+
*/
|
|
6
|
+
export class MyTaxBusinessDetails {
|
|
7
|
+
constructor(vehicleClaimDetails, businesses, soleDetails, user) {
|
|
8
|
+
var _a;
|
|
9
|
+
this.businessActivities = uniqBy(businesses.mapBy('activity'), 'id');
|
|
10
|
+
this.businessABN = soleDetails === null || soleDetails === void 0 ? void 0 : soleDetails.abn;
|
|
11
|
+
this.businessAddress = (_a = user.address) === null || _a === void 0 ? void 0 : _a.name;
|
|
12
|
+
this.vehicleClaimDetails = vehicleClaimDetails;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWJ1c2luZXNzLWRldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9teS10YXgvbXktdGF4LWJ1c2luZXNzLWluY29tZS1vci1sb3NzZXMvbXktdGF4LWJ1c2luZXNzLWRldGFpbHMvbXktdGF4LWJ1c2luZXNzLWRldGFpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBR2xDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFPL0IsWUFDRSxtQkFBd0MsRUFDeEMsVUFBb0MsRUFDcEMsV0FBd0IsRUFDeEIsSUFBVTs7UUFFVixJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsR0FBRyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlaGljbGVDbGFpbURldGFpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi92ZWhpY2xlJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzcywgU29sZUJ1c2luZXNzQWN0aXZpdHksIFNvbGVEZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc29sZSc7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXNlci91c2VyJztcblxuLyoqXG4gKiBNYWluIGluZm9ybWF0aW9uIG9mIFNvbGUgYnVzaW5lc3Nlc1xuICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80NjQ0MTEwNDY2L1RheCtSZXR1cm4rTXlUYXgrLStPbmxpbmUrRm9ybSAoc2VjdGlvbiBcIkJ1c2luZXNzIGluY29tZSBvciBsb3NzZXNcIilcbiAqL1xuZXhwb3J0IGNsYXNzIE15VGF4QnVzaW5lc3NEZXRhaWxzIHtcbiAgdmVoaWNsZUNsYWltRGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscztcbiAgYnVzaW5lc3NBY3Rpdml0aWVzOiBTb2xlQnVzaW5lc3NBY3Rpdml0eVtdO1xuICBidXNpbmVzc2VzOiBDb2xsZWN0aW9uPFNvbGVCdXNpbmVzcz47XG4gIGJ1c2luZXNzQUJOOiBzdHJpbmc7XG4gIGJ1c2luZXNzQWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZlaGljbGVDbGFpbURldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMsXG4gICAgYnVzaW5lc3NlczogQ29sbGVjdGlvbjxTb2xlQnVzaW5lc3M+LFxuICAgIHNvbGVEZXRhaWxzOiBTb2xlRGV0YWlscyxcbiAgICB1c2VyOiBVc2VyXG4gICkge1xuICAgIHRoaXMuYnVzaW5lc3NBY3Rpdml0aWVzID0gdW5pcUJ5KGJ1c2luZXNzZXMubWFwQnkoJ2FjdGl2aXR5JyksICdpZCcpO1xuICAgIHRoaXMuYnVzaW5lc3NBQk4gPSBzb2xlRGV0YWlscz8uYWJuO1xuICAgIHRoaXMuYnVzaW5lc3NBZGRyZXNzID0gdXNlci5hZGRyZXNzPy5uYW1lO1xuICAgIHRoaXMudmVoaWNsZUNsYWltRGV0YWlscyA9IHZlaGljbGVDbGFpbURldGFpbHM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ChartAccountsListEnum } from '../../../../../db/Enums/chart-accounts-list.enum';
|
|
2
|
+
import { BUSINESS_INCOME_OR_LOSSES_CATEGORIES } from '../business-income-or-losses-categories.const';
|
|
3
|
+
import { ChartAccountsCategoryEnum } from '../../../../../db/Enums/chart-accounts-category.enum';
|
|
4
|
+
import { ChartAccountsHeadingListEnum } from '../../../../../db/Enums/chart-accounts-heading-list.enum';
|
|
5
|
+
/**
|
|
6
|
+
* Sole business information related to income transactions
|
|
7
|
+
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form (section "Business income or losses")
|
|
8
|
+
*/
|
|
9
|
+
export class MyTaxBusinessIncome {
|
|
10
|
+
constructor(psiIncome, soleIncome) {
|
|
11
|
+
this.psiIncomeAmount = psiIncome.filterBy('chartAccounts.heading.id', ChartAccountsHeadingListEnum.PSI).amount;
|
|
12
|
+
this.psiVoluntaryAgreementAmount = psiIncome
|
|
13
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.PSI_VOLUNTARY_AGREEMENT)
|
|
14
|
+
.amount;
|
|
15
|
+
this.psiABNNotQuotedAmount = psiIncome
|
|
16
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.PSI_ABN_NOT_QUOTED)
|
|
17
|
+
.amount;
|
|
18
|
+
this.psiLabourHireOrOtherAmount = psiIncome
|
|
19
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.PSI_LABOUR_HIRE_OR_OTHER)
|
|
20
|
+
.amount;
|
|
21
|
+
this.psiOtherAmount = psiIncome
|
|
22
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.PSI_OTHER)
|
|
23
|
+
.amount;
|
|
24
|
+
this.psiDeductionAssociatesAmount = psiIncome
|
|
25
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.PSI_DEDUCTION_ASSOCIATES)
|
|
26
|
+
.amount;
|
|
27
|
+
this.psiDeductionOtherAmount = psiIncome
|
|
28
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.PSI_DEDUCTION_OTHER)
|
|
29
|
+
.amount;
|
|
30
|
+
this.netPSIAmount = psiIncome
|
|
31
|
+
.filterBy('chartAccounts.id', BUSINESS_INCOME_OR_LOSSES_CATEGORIES.psiIncomes)
|
|
32
|
+
.amount -
|
|
33
|
+
psiIncome
|
|
34
|
+
.filterBy('chartAccounts.id', BUSINESS_INCOME_OR_LOSSES_CATEGORIES.psiDeductions)
|
|
35
|
+
.amount;
|
|
36
|
+
this.psiVoluntaryAgreementTax = psiIncome
|
|
37
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.PSI_VOLUNTARY_AGREEMENT)
|
|
38
|
+
.sumBy('tax');
|
|
39
|
+
this.psiABNNotQuotedTax = psiIncome
|
|
40
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.PSI_ABN_NOT_QUOTED)
|
|
41
|
+
.sumBy('tax');
|
|
42
|
+
this.psiLabourHireOrOtherTax = psiIncome
|
|
43
|
+
.filterBy('chartAccounts.id', [ChartAccountsListEnum.PSI_LABOUR_HIRE_OR_OTHER, ChartAccountsListEnum.PSI_OTHER])
|
|
44
|
+
.sumBy('tax');
|
|
45
|
+
this.netPSITax = psiIncome
|
|
46
|
+
.filterBy('chartAccounts.id', BUSINESS_INCOME_OR_LOSSES_CATEGORIES.psiIncomes)
|
|
47
|
+
.sumBy('tax');
|
|
48
|
+
this.grossPaymentsNoAbsGivenAmount = soleIncome
|
|
49
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.GROSS_PAYMENTS_NO_ABN_GIVEN)
|
|
50
|
+
.amount;
|
|
51
|
+
this.grossPaymentsVoluntaryAgreementAmount = soleIncome
|
|
52
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.GROSS_PAYMENTS_VOLUNTARY_AGREEMENT)
|
|
53
|
+
.amount;
|
|
54
|
+
this.grossPaymentsLabourHireAmount = soleIncome
|
|
55
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.GROSS_PAYMENTS_LABOUR_HIRE_OR_OTHER_SPECIFIED_PAYMENTS)
|
|
56
|
+
.amount;
|
|
57
|
+
this.assessibleGovernmentPaymentsAmount = soleIncome
|
|
58
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.ASSESSIBLE_GOVERNMENT_PAYMENTS)
|
|
59
|
+
.amount;
|
|
60
|
+
this.otherBusinessIncomeAmount = soleIncome
|
|
61
|
+
.filterBy('chartAccounts.id', BUSINESS_INCOME_OR_LOSSES_CATEGORIES.otherBusinessIncome)
|
|
62
|
+
.amount;
|
|
63
|
+
this.nonPrimaryProductionTotalAmount = soleIncome
|
|
64
|
+
.filterBy('chartAccounts.category', ChartAccountsCategoryEnum.SOLE_INCOME)
|
|
65
|
+
.amount;
|
|
66
|
+
this.grossPaymentsNoAbsGivenTax = soleIncome
|
|
67
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.GROSS_PAYMENTS_NO_ABN_GIVEN)
|
|
68
|
+
.sumBy('tax');
|
|
69
|
+
this.grossPaymentsVoluntaryAgreementTax = soleIncome
|
|
70
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.GROSS_PAYMENTS_VOLUNTARY_AGREEMENT)
|
|
71
|
+
.sumBy('tax');
|
|
72
|
+
this.grossPaymentsLabourHireTax = soleIncome
|
|
73
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.GROSS_PAYMENTS_LABOUR_HIRE_OR_OTHER_SPECIFIED_PAYMENTS)
|
|
74
|
+
.sumBy('tax');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWJ1c2luZXNzLWluY29tZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtYnVzaW5lc3MtaW5jb21lLW9yLWxvc3Nlcy9teS10YXgtYnVzaW5lc3MtaW5jb21lL215LXRheC1idXNpbmVzcy1pbmNvbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDekYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFeEc7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUIsWUFDRSxTQUFnQyxFQUNoQyxVQUFpQztRQUVqQyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLEVBQUUsNEJBQTRCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQy9HLElBQUksQ0FBQywyQkFBMkIsR0FBRyxTQUFTO2FBQ3pDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQzthQUMzRSxNQUFNLENBQUM7UUFDVixJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUzthQUNuQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsa0JBQWtCLENBQUM7YUFDdEUsTUFBTSxDQUFDO1FBQ1YsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFNBQVM7YUFDeEMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLHdCQUF3QixDQUFDO2FBQzVFLE1BQU0sQ0FBQztRQUNW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QTBCLEdBQUcsVUFBVTthQUN6QyxRQUFRLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsc0RBQXNELENBQUM7YUFDMUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0xpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtbGlzdC5lbnVtJztcbmltcG9ydCB7IEJVU0lORVNTX0lOQ09NRV9PUl9MT1NTRVNfQ0FURUdPUklFUyB9IGZyb20gJy4uL2J1c2luZXNzLWluY29tZS1vci1sb3NzZXMtY2F0ZWdvcmllcy5jb25zdCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy1saXN0LmVudW0nO1xuXG4vKipcbiAqIFNvbGUgYnVzaW5lc3MgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBpbmNvbWUgdHJhbnNhY3Rpb25zXG4gKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChzZWN0aW9uIFwiQnVzaW5lc3MgaW5jb21lIG9yIGxvc3Nlc1wiKVxuICovXG5leHBvcnQgY2xhc3MgTXlUYXhCdXNpbmVzc0luY29tZSB7XG4gIHBzaUluY29tZUFtb3VudDogbnVtYmVyO1xuICBwc2lWb2x1bnRhcnlBZ3JlZW1lbnRBbW91bnQ6IG51bWJlcjtcbiAgcHNpQUJOTm90UXVvdGVkQW1vdW50OiBudW1iZXI7XG4gIHBzaUxhYm91ckhpcmVPck90aGVyQW1vdW50OiBudW1iZXI7XG4gIHBzaU90aGVyQW1vdW50OiBudW1iZXI7XG4gIHBzaURlZHVjdGlvbkFzc29jaWF0ZXNBbW91bnQ6IG51bWJlcjtcbiAgcHNpRGVkdWN0aW9uT3RoZXJBbW91bnQ6IG51bWJlcjtcbiAgbmV0UFNJQW1vdW50OiBudW1iZXI7XG4gIHBzaVZvbHVudGFyeUFncmVlbWVudFRheDogbnVtYmVyO1xuICBwc2lBQk5Ob3RRdW90ZWRUYXg6IG51bWJlcjtcbiAgcHNpTGFib3VySGlyZU9yT3RoZXJUYXg6IG51bWJlcjtcbiAgbmV0UFNJVGF4OiBudW1iZXI7XG4gIGdyb3NzUGF5bWVudHNOb0Fic0dpdmVuQW1vdW50OiBudW1iZXI7XG4gIGdyb3NzUGF5bWVudHNWb2x1bnRhcnlBZ3JlZW1lbnRBbW91bnQ6IG51bWJlcjtcbiAgZ3Jvc3NQYXltZW50c0xhYm91ckhpcmVBbW91bnQ6IG51bWJlcjtcbiAgZ3Jvc3NQYXltZW50c05vQWJzR2l2ZW5UYXg6IG51bWJlcjtcbiAgZ3Jvc3NQYXltZW50c1ZvbHVudGFyeUFncmVlbWVudFRheDogbnVtYmVyO1xuICBncm9zc1BheW1lbnRzTGFib3VySGlyZVRheDogbnVtYmVyO1xuICBhc3Nlc3NpYmxlR292ZXJubWVudFBheW1lbnRzQW1vdW50OiBudW1iZXI7XG4gIG90aGVyQnVzaW5lc3NJbmNvbWVBbW91bnQ6IG51bWJlcjtcbiAgbm9uUHJpbWFyeVByb2R1Y3Rpb25Ub3RhbEFtb3VudDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHBzaUluY29tZTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICAgIHNvbGVJbmNvbWU6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgKSB7XG4gICAgdGhpcy5wc2lJbmNvbWVBbW91bnQgPSBwc2lJbmNvbWUuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaGVhZGluZy5pZCcsIENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uUFNJKS5hbW91bnQ7XG4gICAgdGhpcy5wc2lWb2x1bnRhcnlBZ3JlZW1lbnRBbW91bnQgPSBwc2lJbmNvbWVcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5QU0lfVk9MVU5UQVJZX0FHUkVFTUVOVClcbiAgICAgIC5hbW91bnQ7XG4gICAgdGhpcy5wc2lBQk5Ob3RRdW90ZWRBbW91bnQgPSBwc2lJbmNvbWVcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5QU0lfQUJOX05PVF9RVU9URUQpXG4gICAgICAuYW1vdW50O1xuICAgIHRoaXMucHNpTGFib3VySGlyZU9yT3RoZXJBbW91bnQgPSBwc2lJbmNvbWVcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5QU0lfTEFCT1VSX0hJUkVfT1JfT1RIRVIpXG4gICAgICAuYW1vdW50O1xuICAgIHRoaXMucHNpT3RoZXJBbW91bnQgPSBwc2lJbmNvbWVcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5QU0lfT1RIRVIpXG4gICAgICAuYW1vdW50O1xuICAgIHRoaXMucHNpRGVkdWN0aW9uQXNzb2NpYXRlc0Ftb3VudCA9IHBzaUluY29tZVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlBTSV9ERURVQ1RJT05fQVNTT0NJQVRFUylcbiAgICAgIC5hbW91bnQ7XG4gICAgdGhpcy5wc2lEZWR1Y3Rpb25PdGhlckFtb3VudCA9IHBzaUluY29tZVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlBTSV9ERURVQ1RJT05fT1RIRVIpXG4gICAgICAuYW1vdW50O1xuICAgIHRoaXMubmV0UFNJQW1vdW50ID0gcHNpSW5jb21lXG4gICAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIEJVU0lORVNTX0lOQ09NRV9PUl9MT1NTRVNfQ0FURUdPUklFUy5wc2lJbmNvbWVzKVxuICAgICAgICAuYW1vdW50IC1cbiAgICAgIHBzaUluY29tZVxuICAgICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBCVVNJTkVTU19JTkNPTUVfT1JfTE9TU0VTX0NBVEVHT1JJRVMucHNpRGVkdWN0aW9ucylcbiAgICAgICAgLmFtb3VudDtcbiAgICB0aGlzLnBzaVZvbHVudGFyeUFncmVlbWVudFRheCA9IHBzaUluY29tZVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlBTSV9WT0xVTlRBUllfQUdSRUVNRU5UKVxuICAgICAgLnN1bUJ5KCd0YXgnKTtcbiAgICB0aGlzLnBzaUFCTk5vdFF1b3RlZFRheCA9IHBzaUluY29tZVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlBTSV9BQk5fTk9UX1FVT1RFRClcbiAgICAgIC5zdW1CeSgndGF4Jyk7XG4gICAgdGhpcy5wc2lMYWJvdXJIaXJlT3JPdGhlclRheCA9IHBzaUluY29tZVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgW0NoYXJ0QWNjb3VudHNMaXN0RW51bS5QU0lfTEFCT1VSX0hJUkVfT1JfT1RIRVIsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5QU0lfT1RIRVJdKVxuICAgICAgLnN1bUJ5KCd0YXgnKTtcbiAgICB0aGlzLm5ldFBTSVRheCA9IHBzaUluY29tZVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQlVTSU5FU1NfSU5DT01FX09SX0xPU1NFU19DQVRFR09SSUVTLnBzaUluY29tZXMpXG4gICAgICAuc3VtQnkoJ3RheCcpO1xuXG4gICAgdGhpcy5ncm9zc1BheW1lbnRzTm9BYnNHaXZlbkFtb3VudCA9IHNvbGVJbmNvbWVcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5HUk9TU19QQVlNRU5UU19OT19BQk5fR0lWRU4pXG4gICAgICAuYW1vdW50O1xuICAgIHRoaXMuZ3Jvc3NQYXltZW50c1ZvbHVudGFyeUFncmVlbWVudEFtb3VudCA9IHNvbGVJbmNvbWVcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5HUk9TU19QQVlNRU5UU19WT0xVTlRBUllfQUdSRUVNRU5UKVxuICAgICAgLmFtb3VudDtcbiAgICB0aGlzLmdyb3NzUGF5bWVudHNMYWJvdXJIaXJlQW1vdW50ID0gc29sZUluY29tZVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkdST1NTX1BBWU1FTlRTX0xBQk9VUl9ISVJFX09SX09USEVSX1NQRUNJRklFRF9QQVlNRU5UUylcbiAgICAgIC5hbW91bnQ7XG4gICAgdGhpcy5hc3Nlc3NpYmxlR292ZXJubWVudFBheW1lbnRzQW1vdW50ID0gc29sZUluY29tZVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkFTU0VTU0lCTEVfR09WRVJOTUVOVF9QQVlNRU5UUylcbiAgICAgIC5hbW91bnQ7XG4gICAgdGhpcy5vdGhlckJ1c2luZXNzSW5jb21lQW1vdW50ID0gc29sZUluY29tZVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQlVTSU5FU1NfSU5DT01FX09SX0xPU1NFU19DQVRFR09SSUVTLm90aGVyQnVzaW5lc3NJbmNvbWUpXG4gICAgICAuYW1vdW50O1xuICAgIHRoaXMubm9uUHJpbWFyeVByb2R1Y3Rpb25Ub3RhbEFtb3VudCA9IHNvbGVJbmNvbWVcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5jYXRlZ29yeScsIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9JTkNPTUUpXG4gICAgICAuYW1vdW50O1xuICAgIHRoaXMuZ3Jvc3NQYXltZW50c05vQWJzR2l2ZW5UYXggPSBzb2xlSW5jb21lXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uR1JPU1NfUEFZTUVOVFNfTk9fQUJOX0dJVkVOKVxuICAgICAgLnN1bUJ5KCd0YXgnKTtcbiAgICB0aGlzLmdyb3NzUGF5bWVudHNWb2x1bnRhcnlBZ3JlZW1lbnRUYXggPSBzb2xlSW5jb21lXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uR1JPU1NfUEFZTUVOVFNfVk9MVU5UQVJZX0FHUkVFTUVOVClcbiAgICAgIC5zdW1CeSgndGF4Jyk7XG4gICAgdGhpcy5ncm9zc1BheW1lbnRzTGFib3VySGlyZVRheCA9IHNvbGVJbmNvbWVcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5HUk9TU19QQVlNRU5UU19MQUJPVVJfSElSRV9PUl9PVEhFUl9TUEVDSUZJRURfUEFZTUVOVFMpXG4gICAgICAuc3VtQnkoJ3RheCcpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { ChartAccountsHeadingListEnum } from '../../../../../db/Enums/chart-accounts-heading-list.enum';
|
|
2
|
+
import { ChartAccountsListEnum } from '../../../../../db/Enums/chart-accounts-list.enum';
|
|
3
|
+
import { ChartAccountsCategoryEnum } from '../../../../../db/Enums/chart-accounts-category.enum';
|
|
4
|
+
/**
|
|
5
|
+
* Sole business information related to expense transactions (losses)
|
|
6
|
+
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form (section "Business income or losses")
|
|
7
|
+
*/
|
|
8
|
+
export class MyTaxBusinessLosses {
|
|
9
|
+
constructor(transactions, depreciations, businessLosses, currentLoss) {
|
|
10
|
+
this.currentLoss = currentLoss;
|
|
11
|
+
this.purchasesAndOtherCostsAmount = Math.abs(transactions.getExpenseTransactions()
|
|
12
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.PURCHASES_STOCK_INVENTORY)
|
|
13
|
+
.sumBy('claimAmount'));
|
|
14
|
+
this.contractorsAndCommissionAmount = Math.abs(transactions.getExpenseTransactions()
|
|
15
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.CONTRACTORS_AND_COMMISSION)
|
|
16
|
+
.sumBy('claimAmount'));
|
|
17
|
+
this.superannuationAmount = Math.abs(transactions.getExpenseTransactions()
|
|
18
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.SUPERANNUATION)
|
|
19
|
+
.sumBy('claimAmount'));
|
|
20
|
+
this.badDebtAmount = Math.abs(transactions.getExpenseTransactions()
|
|
21
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.BAD_DEBT)
|
|
22
|
+
.sumBy('claimAmount'));
|
|
23
|
+
this.leaseExpensesCommercialAmount = Math.abs(transactions.getExpenseTransactions()
|
|
24
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.LEASE_EXPENSES_COMMERCIAL)
|
|
25
|
+
.sumBy('claimAmount'));
|
|
26
|
+
this.rentExpensesCommercialPremisesAmount = Math.abs(transactions.getExpenseTransactions()
|
|
27
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.RENT_EXPENSES_COMMERCIAL_PREMISES)
|
|
28
|
+
.sumBy('claimAmount'));
|
|
29
|
+
this.interestExpensesAustraliaAmount = Math.abs(transactions.getExpenseTransactions()
|
|
30
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.INTEREST_EXPENSES_AUSTRALIA)
|
|
31
|
+
.sumBy('claimAmount'));
|
|
32
|
+
this.interestExpensesOverseasAmount = Math.abs(transactions.getExpenseTransactions()
|
|
33
|
+
.filterBy('chartAccounts.id', ChartAccountsListEnum.INTEREST_EXPENSES_OVERSEAS)
|
|
34
|
+
.sumBy('claimAmount'));
|
|
35
|
+
this.kmsTravelledExpensesAmount = Math.abs(transactions
|
|
36
|
+
.filterBy('chartAccounts.heading.id', [ChartAccountsHeadingListEnum.WORK_RELATED_CAR_EXPENSES, ChartAccountsHeadingListEnum.DEPRECIATION_VEHICLES])
|
|
37
|
+
.sumBy('claimAmount'));
|
|
38
|
+
this.otherExpensesAmount = Math.abs(transactions
|
|
39
|
+
.filterBy('chartAccounts.heading.id', ChartAccountsHeadingListEnum.OTHER_EXPENSES)
|
|
40
|
+
.sumBy('claimAmount'));
|
|
41
|
+
this.totalNonPrimaryProductionExpensesAmount = Math.abs(transactions
|
|
42
|
+
.filterBy('chartAccounts.category', [ChartAccountsCategoryEnum.SOLE_EXPENSE, ChartAccountsCategoryEnum.SOLE_DEPRECIATION])
|
|
43
|
+
.sumBy('claimAmount'));
|
|
44
|
+
// depreciations
|
|
45
|
+
this.depreciationExpensesAmount = depreciations
|
|
46
|
+
.filterBy('chartAccounts.heading.id', ChartAccountsHeadingListEnum.DEPRECIATION_EXPENSES)
|
|
47
|
+
.sumBy('claimAmount');
|
|
48
|
+
this.deductionsForCertainAssetsAmount = depreciations
|
|
49
|
+
.getWrittenOffDepreciations()
|
|
50
|
+
.sumBy('claimAmount');
|
|
51
|
+
this.deductionsForGeneralSmallBusinessPoolAmount = depreciations
|
|
52
|
+
.getSBPDepreciations()
|
|
53
|
+
.sumBy('claimAmount');
|
|
54
|
+
this.currentYearNetNonPrimaryIncomeOrLossesAmount = transactions.getIncomeTransactions()
|
|
55
|
+
.filterBy('chartAccounts.category', ChartAccountsCategoryEnum.SOLE_INCOME)
|
|
56
|
+
.amount -
|
|
57
|
+
Math.abs(transactions
|
|
58
|
+
.filterBy('chartAccounts.category', [ChartAccountsCategoryEnum.SOLE_EXPENSE, ChartAccountsCategoryEnum.SOLE_DEPRECIATION])
|
|
59
|
+
.sumBy('claimAmount'));
|
|
60
|
+
this.priorYearsNonPrimaryLossesAmount = this.calculatePriorYearsOpenBalance(businessLosses);
|
|
61
|
+
this.netNonPrimaryIncomeOrLossesAmount = transactions.getIncomeTransactions()
|
|
62
|
+
.filterBy('chartAccounts.category', ChartAccountsCategoryEnum.SOLE_INCOME)
|
|
63
|
+
.amount -
|
|
64
|
+
this.priorYearsNonPrimaryLossesAmount;
|
|
65
|
+
}
|
|
66
|
+
calculatePriorYearsOpenBalance(businessLosses) {
|
|
67
|
+
return businessLosses ? businessLosses.sumBy('openBalance') : 0;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWJ1c2luZXNzLWxvc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtYnVzaW5lc3MtaW5jb21lLW9yLWxvc3Nlcy9teS10YXgtYnVzaW5lc3MtbG9zc2VzL215LXRheC1idXNpbmVzcy1sb3NzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFeEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFJakc7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQW9COUIsWUFDRSxZQUFtQyxFQUNuQyxhQUFxQyxFQUNyQyxjQUE0QyxFQUM1QyxXQUE2QjtRQUU3QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUU7YUFDL0UsUUFBUSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLHlCQUF5QixDQUFDO2FBQzdFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRTthQUNqRixRQUFRLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsMEJBQTBCLENBQUM7YUFDOUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUFF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LFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2lCQUN6SCxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxZQUFZLENBQUMscUJBQXFCLEVBQUU7YUFDeEUsUUFBUSxDQUFDLHdCQUF3QixFQUFFLHlCQUF5QixDQUFDLFdBQVcsQ0FBQzthQUN6RSxNQUFNO1lBQ1QsSUFBSSxDQUFDLGdDQUFnQyxDQUFDO0lBQzFDLENBQUM7SUFFTyw4QkFBOEIsQ0FBQyxjQUE0QztRQUNqRixPQUFPLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctbGlzdC5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWNhdGVnb3J5LmVudW0nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzTG9zcyB9IGZyb20gJy4uLy4uLy4uLy4uL3NvbGUnO1xuXG4vKipcbiAqIFNvbGUgYnVzaW5lc3MgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBleHBlbnNlIHRyYW5zYWN0aW9ucyAobG9zc2VzKVxuICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80NjQ0MTEwNDY2L1RheCtSZXR1cm4rTXlUYXgrLStPbmxpbmUrRm9ybSAoc2VjdGlvbiBcIkJ1c2luZXNzIGluY29tZSBvciBsb3NzZXNcIilcbiAqL1xuZXhwb3J0IGNsYXNzIE15VGF4QnVzaW5lc3NMb3NzZXMge1xuICBjdXJyZW50TG9zczogU29sZUJ1c2luZXNzTG9zcztcbiAgcHVyY2hhc2VzQW5kT3RoZXJDb3N0c0Ftb3VudDogbnVtYmVyO1xuICBjb250cmFjdG9yc0FuZENvbW1pc3Npb25BbW91bnQ6IG51bWJlcjtcbiAgc3VwZXJhbm51YXRpb25BbW91bnQ6IG51bWJlcjtcbiAgYmFkRGVidEFtb3VudDogbnVtYmVyO1xuICBsZWFzZUV4cGVuc2VzQ29tbWVyY2lhbEFtb3VudDogbnVtYmVyO1xuICByZW50RXhwZW5zZXNDb21tZXJjaWFsUHJlbWlzZXNBbW91bnQ6IG51bWJlcjtcbiAgaW50ZXJlc3RFeHBlbnNlc0F1c3RyYWxpYUFtb3VudDogbnVtYmVyO1xuICBpbnRlcmVzdEV4cGVuc2VzT3ZlcnNlYXNBbW91bnQ6IG51bWJlcjtcbiAga21zVHJhdmVsbGVkRXhwZW5zZXNBbW91bnQ6IG51bWJlcjtcbiAgb3RoZXJFeHBlbnNlc0Ftb3VudDogbnVtYmVyO1xuICB0b3RhbE5vblByaW1hcnlQcm9kdWN0aW9uRXhwZW5zZXNBbW91bnQ6IG51bWJlcjtcbiAgZGVwcmVjaWF0aW9uRXhwZW5zZXNBbW91bnQ6IG51bWJlcjtcbiAgZGVkdWN0aW9uc0ZvckNlcnRhaW5Bc3NldHNBbW91bnQ6IG51bWJlcjtcbiAgZGVkdWN0aW9uc0ZvckdlbmVyYWxTbWFsbEJ1c2luZXNzUG9vbEFtb3VudDogbnVtYmVyO1xuICBwcmlvclllYXJzTm9uUHJpbWFyeUxvc3Nlc0Ftb3VudDogbnVtYmVyO1xuICBuZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQ6IG51bWJlcjtcbiAgY3VycmVudFllYXJOZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIGJ1c2luZXNzTG9zc2VzOiBDb2xsZWN0aW9uPFNvbGVCdXNpbmVzc0xvc3M+LFxuICAgIGN1cnJlbnRMb3NzOiBTb2xlQnVzaW5lc3NMb3NzXG4gICkge1xuICAgIHRoaXMuY3VycmVudExvc3MgPSBjdXJyZW50TG9zcztcbiAgICB0aGlzLnB1cmNoYXNlc0FuZE90aGVyQ29zdHNBbW91bnQgPSBNYXRoLmFicyh0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uUFVSQ0hBU0VTX1NUT0NLX0lOVkVOVE9SWSlcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSk7XG4gICAgdGhpcy5jb250cmFjdG9yc0FuZENvbW1pc3Npb25BbW91bnQgPSBNYXRoLmFicyh0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uQ09OVFJBQ1RPUlNfQU5EX0NPTU1JU1NJT04pXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuc3VwZXJhbm51YXRpb25BbW91bnQgPSBNYXRoLmFicyh0cmFuc2FjdGlvbnMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaWQnLCBDaGFydEFjY291bnRzTGlzdEVudW0uU1VQRVJBTk5VQVRJT04pXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuYmFkRGVidEFtb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5CQURfREVCVClcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSk7XG4gICAgdGhpcy5sZWFzZUV4cGVuc2VzQ29tbWVyY2lhbEFtb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5MRUFTRV9FWFBFTlNFU19DT01NRVJDSUFMKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLnJlbnRFeHBlbnNlc0NvbW1lcmNpYWxQcmVtaXNlc0Ftb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5SRU5UX0VYUEVOU0VTX0NPTU1FUkNJQUxfUFJFTUlTRVMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuaW50ZXJlc3RFeHBlbnNlc0F1c3RyYWxpYUFtb3VudCA9IE1hdGguYWJzKHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKClcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5pZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9FWFBFTlNFU19BVVNUUkFMSUEpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMuaW50ZXJlc3RFeHBlbnNlc092ZXJzZWFzQW1vdW50ID0gTWF0aC5hYnModHJhbnNhY3Rpb25zLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKVxuICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmlkJywgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLklOVEVSRVNUX0VYUEVOU0VTX09WRVJTRUFTKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLmttc1RyYXZlbGxlZEV4cGVuc2VzQW1vdW50ID0gTWF0aC5hYnModHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaGVhZGluZy5pZCcsIFtDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLldPUktfUkVMQVRFRF9DQVJfRVhQRU5TRVMsIENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uREVQUkVDSUFUSU9OX1ZFSElDTEVTXSlcbiAgICAgIC5zdW1CeSgnY2xhaW1BbW91bnQnKSk7XG4gICAgdGhpcy5vdGhlckV4cGVuc2VzQW1vdW50ID0gTWF0aC5hYnModHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuaGVhZGluZy5pZCcsIENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uT1RIRVJfRVhQRU5TRVMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50JykpO1xuICAgIHRoaXMudG90YWxOb25QcmltYXJ5UHJvZHVjdGlvbkV4cGVuc2VzQW1vdW50ID0gTWF0aC5hYnModHJhbnNhY3Rpb25zXG4gICAgICAuZmlsdGVyQnkoJ2NoYXJ0QWNjb3VudHMuY2F0ZWdvcnknLCBbQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0VYUEVOU0UsIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9ERVBSRUNJQVRJT05dKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICAvLyBkZXByZWNpYXRpb25zXG4gICAgdGhpcy5kZXByZWNpYXRpb25FeHBlbnNlc0Ftb3VudCA9IGRlcHJlY2lhdGlvbnNcbiAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5oZWFkaW5nLmlkJywgQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5ERVBSRUNJQVRJT05fRVhQRU5TRVMpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5kZWR1Y3Rpb25zRm9yQ2VydGFpbkFzc2V0c0Ftb3VudCA9IGRlcHJlY2lhdGlvbnNcbiAgICAgIC5nZXRXcml0dGVuT2ZmRGVwcmVjaWF0aW9ucygpXG4gICAgICAuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5kZWR1Y3Rpb25zRm9yR2VuZXJhbFNtYWxsQnVzaW5lc3NQb29sQW1vdW50ID0gZGVwcmVjaWF0aW9uc1xuICAgICAgLmdldFNCUERlcHJlY2lhdGlvbnMoKVxuICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMuY3VycmVudFllYXJOZXROb25QcmltYXJ5SW5jb21lT3JMb3NzZXNBbW91bnQgPSB0cmFuc2FjdGlvbnMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKClcbiAgICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmNhdGVnb3J5JywgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0lOQ09NRSlcbiAgICAgICAgLmFtb3VudCAtXG4gICAgICBNYXRoLmFicyh0cmFuc2FjdGlvbnNcbiAgICAgICAgLmZpbHRlckJ5KCdjaGFydEFjY291bnRzLmNhdGVnb3J5JywgW0NoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9FWFBFTlNFLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfREVQUkVDSUFUSU9OXSlcbiAgICAgICAgLnN1bUJ5KCdjbGFpbUFtb3VudCcpKTtcbiAgICB0aGlzLnByaW9yWWVhcnNOb25QcmltYXJ5TG9zc2VzQW1vdW50ID0gdGhpcy5jYWxjdWxhdGVQcmlvclllYXJzT3BlbkJhbGFuY2UoYnVzaW5lc3NMb3NzZXMpO1xuICAgIHRoaXMubmV0Tm9uUHJpbWFyeUluY29tZU9yTG9zc2VzQW1vdW50ID0gdHJhbnNhY3Rpb25zLmdldEluY29tZVRyYW5zYWN0aW9ucygpXG4gICAgICAgIC5maWx0ZXJCeSgnY2hhcnRBY2NvdW50cy5jYXRlZ29yeScsIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9JTkNPTUUpXG4gICAgICAgIC5hbW91bnQgLVxuICAgICAgdGhpcy5wcmlvclllYXJzTm9uUHJpbWFyeUxvc3Nlc0Ftb3VudDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlUHJpb3JZZWFyc09wZW5CYWxhbmNlKGJ1c2luZXNzTG9zc2VzOiBDb2xsZWN0aW9uPFNvbGVCdXNpbmVzc0xvc3M+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gYnVzaW5lc3NMb3NzZXMgPyBidXNpbmVzc0xvc3Nlcy5zdW1CeSgnb3BlbkJhbGFuY2UnKSA6IDA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { ChartAccountsListEnum } from '../../../../db/Enums/chart-accounts-list.enum';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
2
|
+
* Sole business losses report
|
|
3
|
+
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Losses" section)
|
|
4
4
|
*/
|
|
5
5
|
export class MyTaxLosses {
|
|
6
|
-
constructor(transactions) {
|
|
7
|
-
this.transactions = transactions
|
|
6
|
+
constructor(transactions, businessLosses) {
|
|
7
|
+
this.transactions = transactions;
|
|
8
|
+
this.businessLosses = businessLosses;
|
|
9
|
+
this.businessLossDeferred = businessLosses.sumBy('openBalance');
|
|
10
|
+
this.businessLossApplied = businessLosses.calculateBusinessLossApplied(transactions);
|
|
8
11
|
}
|
|
9
12
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWxvc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtbG9zc2VzL215LXRheC1sb3NzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFXdEIsWUFDVSxZQUF1QyxFQUN2QyxjQUE0QztRQUQ1QyxpQkFBWSxHQUFaLFlBQVksQ0FBMkI7UUFDdkMsbUJBQWMsR0FBZCxjQUFjLENBQThCO1FBRXBELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxjQUFjLENBQUMsNEJBQTRCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlQ29sbGVjdGlvbiwgU29sZUJ1c2luZXNzTG9zc2VzQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcblxuLyoqXG4gKiBTb2xlIGJ1c2luZXNzIGxvc3NlcyByZXBvcnRcbiAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiTG9zc2VzXCIgc2VjdGlvbilcbiAqL1xuZXhwb3J0IGNsYXNzIE15VGF4TG9zc2VzIHtcbiAgLyoqXG4gICAqIExvc3NlcyBjYXJyaWVkIGZvcndhcmQgZnJvbSBlYXJsaWVyIGluY29tZSB5ZWFyc1xuICAgKi9cbiAgYnVzaW5lc3NMb3NzRGVmZXJyZWQ6IG51bWJlcjtcblxuICAvKipcbiAgICogTG9zc2VzIGFwcGxpZWQgdG8gdGhlIGN1cnJlbnQgeWVhciAodW50aWwgcHJvZml0IGdldHMgdG8gJDApXG4gICAqL1xuICBidXNpbmVzc0xvc3NBcHBsaWVkOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQmFzZUNvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSBidXNpbmVzc0xvc3NlczogU29sZUJ1c2luZXNzTG9zc2VzQ29sbGVjdGlvblxuICApIHtcbiAgICB0aGlzLmJ1c2luZXNzTG9zc0RlZmVycmVkID0gYnVzaW5lc3NMb3NzZXMuc3VtQnkoJ29wZW5CYWxhbmNlJyk7XG4gICAgdGhpcy5idXNpbmVzc0xvc3NBcHBsaWVkID0gYnVzaW5lc3NMb3NzZXMuY2FsY3VsYXRlQnVzaW5lc3NMb3NzQXBwbGllZCh0cmFuc2FjdGlvbnMpO1xuICB9XG59XG4iXX0=
|