taxtank-core 0.27.2 → 0.27.5

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 (104) hide show
  1. package/bundles/taxtank-core.umd.js +441 -199
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/chart-accounts.collection.js +3 -3
  4. package/esm2015/lib/collections/depreciation.collection.js +10 -9
  5. package/esm2015/lib/collections/transaction/transaction.collection.js +5 -2
  6. package/esm2015/lib/collections/vehicle/vehicle-claim.collection.js +2 -4
  7. package/esm2015/lib/collections/vehicle/vehicle-logbook.collection.js +15 -30
  8. package/esm2015/lib/db/Enums/depreciation-calculation.enum.js +2 -1
  9. package/esm2015/lib/db/Enums/sole-depreciation-method.enum.js +6 -0
  10. package/esm2015/lib/db/Models/sole/sole-business-activity.js +4 -0
  11. package/esm2015/lib/db/Models/sole/sole-business.js +1 -1
  12. package/esm2015/lib/db/Models/sole/sole-depreciation-method.js +4 -0
  13. package/esm2015/lib/db/Models/sole/sole-details.js +1 -1
  14. package/esm2015/lib/db/Models/user/user.js +1 -1
  15. package/esm2015/lib/forms/abstract.form.js +11 -5
  16. package/esm2015/lib/forms/bank/bank-account/bank-account-allocation.form.js +6 -3
  17. package/esm2015/lib/forms/sole/index.js +2 -1
  18. package/esm2015/lib/forms/sole/sole-business-allocations.form.js +2 -1
  19. package/esm2015/lib/forms/sole/sole-business.form.js +3 -3
  20. package/esm2015/lib/forms/sole/sole-depreciation-method.form.js +10 -0
  21. package/esm2015/lib/forms/sole/sole-invoice-template.form.js +2 -2
  22. package/esm2015/lib/forms/vehicle/vehicle-claim-details.form.js +3 -7
  23. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +8 -2
  24. package/esm2015/lib/forms/vehicle/vehicle-logbook.form.js +22 -15
  25. package/esm2015/lib/models/account-setup/account-setup-items.const.js +2 -2
  26. package/esm2015/lib/models/bank/bank-account.js +4 -1
  27. package/esm2015/lib/models/chart-accounts/chart-accounts.js +9 -9
  28. package/esm2015/lib/models/depreciation/depreciation-group.enum.js +2 -1
  29. package/esm2015/lib/models/depreciation/depreciation-groups.const.js +7 -2
  30. package/esm2015/lib/models/depreciation/depreciation.js +32 -25
  31. package/esm2015/lib/models/endpoint/endpoints.const.js +6 -4
  32. package/esm2015/lib/models/event/app-event-type.enum.js +33 -31
  33. package/esm2015/lib/models/financial-year/financial-year.js +2 -1
  34. package/esm2015/lib/models/report/depreciation/depreciation-report-item.js +2 -2
  35. package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +3 -3
  36. package/esm2015/lib/models/sole/index.js +3 -1
  37. package/esm2015/lib/models/sole/sole-business-activity.js +4 -0
  38. package/esm2015/lib/models/sole/sole-business.js +5 -1
  39. package/esm2015/lib/models/sole/sole-depreciation-method.js +8 -0
  40. package/esm2015/lib/models/sole/sole-invoice-template.js +5 -4
  41. package/esm2015/lib/models/transaction/transaction.js +3 -3
  42. package/esm2015/lib/models/vehicle/logbook-period.js +2 -1
  43. package/esm2015/lib/models/vehicle/vehicle-claim-details.js +12 -11
  44. package/esm2015/lib/models/vehicle/vehicle-claim.js +14 -13
  45. package/esm2015/lib/models/vehicle/vehicle-logbook.js +18 -5
  46. package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
  47. package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +34 -0
  48. package/esm2015/lib/services/http/depreciation/depreciation.service.js +19 -2
  49. package/esm2015/lib/services/http/property/property.service.js +8 -1
  50. package/esm2015/lib/services/http/sole/index.js +3 -1
  51. package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +21 -0
  52. package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +62 -0
  53. package/esm2015/lib/services/http/transaction/transaction.service.js +1 -2
  54. package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +7 -6
  55. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +10 -10
  56. package/esm2015/lib/services/index.js +2 -1
  57. package/esm2015/public-api.js +2 -1
  58. package/fesm2015/taxtank-core.js +381 -189
  59. package/fesm2015/taxtank-core.js.map +1 -1
  60. package/lib/collections/chart-accounts.collection.d.ts +2 -2
  61. package/lib/collections/depreciation.collection.d.ts +2 -1
  62. package/lib/collections/transaction/transaction.collection.d.ts +2 -2
  63. package/lib/collections/vehicle/vehicle-claim.collection.d.ts +1 -3
  64. package/lib/collections/vehicle/vehicle-logbook.collection.d.ts +4 -9
  65. package/lib/db/Enums/depreciation-calculation.enum.d.ts +2 -1
  66. package/lib/db/Enums/sole-depreciation-method.enum.d.ts +4 -0
  67. package/lib/db/Models/sole/sole-business-activity.d.ts +6 -0
  68. package/lib/db/Models/sole/sole-business.d.ts +2 -1
  69. package/lib/db/Models/sole/sole-depreciation-method.d.ts +10 -0
  70. package/lib/db/Models/user/user.d.ts +1 -0
  71. package/lib/forms/abstract.form.d.ts +3 -1
  72. package/lib/forms/bank/bank-account/bank-account-allocation.form.d.ts +4 -2
  73. package/lib/forms/sole/index.d.ts +1 -0
  74. package/lib/forms/sole/sole-business-allocations.form.d.ts +1 -0
  75. package/lib/forms/sole/sole-business.form.d.ts +1 -1
  76. package/lib/forms/sole/sole-depreciation-method.form.d.ts +5 -0
  77. package/lib/forms/vehicle/vehicle-claim-details.form.d.ts +1 -6
  78. package/lib/forms/vehicle/vehicle-claim.form.d.ts +3 -0
  79. package/lib/forms/vehicle/vehicle-logbook.form.d.ts +4 -0
  80. package/lib/models/bank/bank-account.d.ts +2 -0
  81. package/lib/models/chart-accounts/chart-accounts.d.ts +6 -6
  82. package/lib/models/depreciation/depreciation-group.enum.d.ts +2 -1
  83. package/lib/models/depreciation/depreciation.d.ts +9 -16
  84. package/lib/models/event/app-event-type.enum.d.ts +32 -30
  85. package/lib/models/financial-year/financial-year.d.ts +1 -0
  86. package/lib/models/sole/index.d.ts +2 -0
  87. package/lib/models/sole/sole-business-activity.d.ts +3 -0
  88. package/lib/models/sole/sole-business.d.ts +2 -0
  89. package/lib/models/sole/sole-depreciation-method.d.ts +4 -0
  90. package/lib/models/sole/sole-invoice-template.d.ts +1 -1
  91. package/lib/models/transaction/transaction.d.ts +2 -2
  92. package/lib/models/vehicle/logbook-period.d.ts +1 -0
  93. package/lib/models/vehicle/vehicle-claim-details.d.ts +8 -2
  94. package/lib/models/vehicle/vehicle-claim.d.ts +6 -4
  95. package/lib/models/vehicle/vehicle-logbook.d.ts +8 -4
  96. package/lib/services/affiliate/rewardful/rewardful.service.d.ts +13 -0
  97. package/lib/services/http/depreciation/depreciation.service.d.ts +8 -0
  98. package/lib/services/http/property/property.service.d.ts +1 -0
  99. package/lib/services/http/sole/index.d.ts +2 -0
  100. package/lib/services/http/sole/sole-business-activity/sole-business-activity.service.d.ts +11 -0
  101. package/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.d.ts +23 -0
  102. package/lib/services/index.d.ts +1 -0
  103. package/package.json +1 -1
  104. package/public-api.d.ts +1 -0
@@ -2,7 +2,7 @@ import { Collection } from './collection';
2
2
  import { ChartAccounts } from '../models/chart-accounts/chart-accounts';
3
3
  export declare class ChartAccountsCollection extends Collection<ChartAccounts> {
4
4
  /**
5
- * Get 'Klms travelled for work' related chart account value
5
+ * Get 'Kms travelled for work' related chart account value
6
6
  */
7
- getVehicleKlmsRate(year?: number): number;
7
+ getVehicleKmsRate(year?: number): number;
8
8
  }
@@ -26,7 +26,8 @@ export declare class DepreciationCollection extends Collection<Depreciation> {
26
26
  getCapitalDepreciations(): this;
27
27
  getBorrowingExpenseDepreciations(): DepreciationCollection;
28
28
  getWrittenOffDepreciations(): DepreciationCollection;
29
- getLowValuePoolDepreciations(): DepreciationCollection;
29
+ getLVPDepreciations(): this;
30
+ getSBPDepreciations(): this;
30
31
  getCapitalProjects(): DepreciationCapitalProject[];
31
32
  /**
32
33
  * Get a new collection of depreciations related to vehicles
@@ -86,9 +86,9 @@ export declare class TransactionCollection extends ExportableCollection<Transact
86
86
  /**
87
87
  * Get list of vehicle transactions filtered by vehicle claim
88
88
  */
89
- getByVehicleClaim(vehicleClaim: VehicleClaim): this;
89
+ getByVehicleClaim(vehicleClaim?: VehicleClaim): this;
90
90
  /**
91
- * Get list of vehicle transactions except KLMS transactions
91
+ * Get list of vehicle transactions except KMS transactions
92
92
  */
93
93
  getLogbookTransactions(): this;
94
94
  }
@@ -3,12 +3,10 @@ import { VehicleClaim } from '../../models';
3
3
  export declare class VehicleClaimCollection extends Collection<VehicleClaim> {
4
4
  /**
5
5
  * Get remaining kilometers limit. Total limit ({@link VehicleClaim.totalKmsLimit}) - claimed kilometers from other vehicle claims
6
- * @param claim may not exist when user come to vehicle claim page 1st time and not created claim yet
7
6
  */
8
- getKlmsLimitForClaim(claim?: VehicleClaim): number;
7
+ getKmsLimitForClaim(claim?: VehicleClaim): number;
9
8
  /**
10
9
  * Get remaining work usage limit. Total limit ({@link VehicleClaim.totalWorkUsagePercent}) - claimed percent from other vehicle claims
11
- * @param claim may not exist when user come to vehicle claim page 1st time and not created claim yet
12
10
  */
13
11
  getWorkUsageLimitForClaim(claim?: VehicleClaim): number;
14
12
  }
@@ -2,7 +2,7 @@ import { Collection } from '../collection';
2
2
  import { LogbookPeriod, VehicleClaim, VehicleLogbook } from '../../models';
3
3
  export declare class VehicleLogbookCollection extends Collection<VehicleLogbook> {
4
4
  /**
5
- * Best period may be calculated only when user has logbooks minimum for {@link VehicleLogbook.periodDuration}
5
+ * Best period may be calculated only when user has logbooks minimum for VehicleLogbook.bestPeriodWeeks
6
6
  * @TODO Vik: Best period: move this and related logic to backend
7
7
  */
8
8
  isBestPeriodExist(): boolean;
@@ -12,8 +12,8 @@ export declare class VehicleLogbookCollection extends Collection<VehicleLogbook>
12
12
  */
13
13
  getClaimableLogbooks(): this;
14
14
  /**
15
- * Logbook Period is the best when it has the biggest work usage percent
16
- * Best period duration is defined as {@link VehicleLogbook.periodDuration} by the ATO
15
+ * Get Logbook Period with the biggest work usage percent
16
+ * Best period duration is defined as VehicleLogbook.bestPeriodWeeks by the ATO
17
17
  * @TODO Vik: Best period: move this and related logic to backend
18
18
  */
19
19
  getBestPeriod(): LogbookPeriod;
@@ -26,13 +26,8 @@ export declare class VehicleLogbookCollection extends Collection<VehicleLogbook>
26
26
  * @TODO Alex: TT-2089 replace with getter
27
27
  */
28
28
  getWorkUsage(): number;
29
- /**
30
- * Get LOGBOOK_PERIOD_DURATION date range from passed start date
31
- * @TODO Vik: Best period: move this and related logic to backend
32
- */
33
- private getPeriodRange;
34
29
  /**
35
30
  * Get list of logbooks related to passed vehicle claim
36
31
  */
37
- getByVehicleClaim(claim: VehicleClaim): this;
32
+ getByVehicleClaim(vehicleClaim: VehicleClaim): this;
38
33
  }
@@ -3,5 +3,6 @@ export declare enum DepreciationCalculationEnum {
3
3
  DIMINISHING = 2,
4
4
  CAPITAL = 3,
5
5
  LVP = 4,
6
- AMORTISATION = 5
6
+ AMORTISATION = 5,
7
+ SBP = 6
7
8
  }
@@ -0,0 +1,4 @@
1
+ export declare enum SoleDepreciationMethodEnum {
2
+ SBP = 1,
3
+ DEPRECIATION = 2
4
+ }
@@ -0,0 +1,6 @@
1
+ import { AbstractModel } from '../abstract-model';
2
+ export declare class SoleBusinessActivity extends AbstractModel {
3
+ name?: string;
4
+ code?: number;
5
+ id?: number;
6
+ }
@@ -8,15 +8,16 @@ import { Transaction } from '../transaction/transaction';
8
8
  import { Depreciation } from '../depreciation/depreciation';
9
9
  import { AbstractModel } from '../abstract-model';
10
10
  import { VehicleLogbook } from '../vehicle/vehicle-logbook';
11
+ import { SoleBusinessActivity } from './sole-business-activity';
11
12
  export declare class SoleBusiness extends AbstractModel {
12
13
  name?: string;
13
- code?: string;
14
14
  description?: string;
15
15
  website?: string;
16
16
  logo?: string;
17
17
  id?: number;
18
18
  deletedAt?: Date;
19
19
  user?: User;
20
+ activity?: SoleBusinessActivity;
20
21
  allocations?: SoleBusinessAllocation[];
21
22
  losses?: SoleBusinessLoss[];
22
23
  invoices?: SoleInvoice[];
@@ -0,0 +1,10 @@
1
+ import { User } from '../user/user';
2
+ import { SoleDepreciationMethodEnum } from '../../Enums/sole-depreciation-method.enum';
3
+ import { AbstractModel } from '../abstract-model';
4
+ export declare class SoleDepreciationMethod extends AbstractModel {
5
+ method?: SoleDepreciationMethodEnum;
6
+ closeBalance?: number;
7
+ id?: number;
8
+ financialYear?: number;
9
+ user?: User;
10
+ }
@@ -32,6 +32,7 @@ export declare class User extends AbstractModel {
32
32
  verificationCode?: string;
33
33
  referer?: User;
34
34
  referenceCode?: string;
35
+ rewardfulReferralKey?: string;
35
36
  stripeId?: string;
36
37
  basiqId?: string;
37
38
  roles?: UserRolesEnum;
@@ -3,7 +3,7 @@ import { EventEmitter, Type } from '@angular/core';
3
3
  /**
4
4
  * Abstract form class
5
5
  * @TODO rename to AbstractFormGroup
6
- * @TODO Alex: refactor: check and improve logic
6
+ * @TODO Alex TT-2190: refactor: check and improve logic
7
7
  */
8
8
  export declare abstract class AbstractForm<Model> extends FormGroup {
9
9
  /**
@@ -22,6 +22,7 @@ export declare abstract class AbstractForm<Model> extends FormGroup {
22
22
  [key: string]: AbstractControl;
23
23
  }, model?: Model, validatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);
24
24
  get saved(): boolean;
25
+ get currentValue(): Model;
25
26
  /**
26
27
  * Check validation and return a new instance of generic model.
27
28
  * Merge form value to initial object
@@ -34,4 +35,5 @@ export declare abstract class AbstractForm<Model> extends FormGroup {
34
35
  markAsUnsaved(): void;
35
36
  markAsSaved(): void;
36
37
  private createModelInstance;
38
+ private listenValueChanges;
37
39
  }
@@ -1,7 +1,9 @@
1
1
  import { AbstractForm } from '../../abstract.form';
2
2
  import { BankAccount } from '../../../models/bank/bank-account';
3
- export declare class BankAccountAllocationForm extends AbstractForm<BankAccount> {
3
+ import { IEventListener } from '../../../interfaces/event-listener.interface';
4
+ export declare class BankAccountAllocationForm extends AbstractForm<BankAccount> implements IEventListener {
4
5
  private bankAccount?;
5
6
  constructor(bankAccount?: BankAccount);
6
- watchTankType(): void;
7
+ listenEvents(): void;
8
+ listenTankTypeChanges(): void;
7
9
  }
@@ -1,5 +1,6 @@
1
1
  export * from './sole-business.form';
2
2
  export * from './sole-business-allocations.form';
3
3
  export * from './sole-contact.form';
4
+ export * from './sole-depreciation-method.form';
4
5
  export * from './sole-details.form';
5
6
  export * from './sole-invoice-template.form';
@@ -3,6 +3,7 @@ import { SoleBusinessAllocation } from '../../models';
3
3
  /**
4
4
  * Form array with bank account business allocations
5
5
  * @TODO create AbstractFormArray
6
+ * @TODO Alex/Vik (TT-2184): copypasted from bank-account-properties.form, improve logic and create common parent class maybe
6
7
  */
7
8
  export declare class SoleBusinessAllocationsForm extends FormArray {
8
9
  constructor(businessAllocations?: SoleBusinessAllocation[]);
@@ -1,5 +1,5 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
- import { SoleBusiness } from '../../models/sole/sole-business';
2
+ import { SoleBusiness } from '../../models';
3
3
  export declare class SoleBusinessForm extends AbstractForm<SoleBusiness> {
4
4
  constructor(business?: SoleBusiness);
5
5
  }
@@ -0,0 +1,5 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { SoleDepreciationMethod } from '../../models';
3
+ export declare class SoleDepreciationMethodForm extends AbstractForm<SoleDepreciationMethod> {
4
+ constructor(soleDepreciationMethod: SoleDepreciationMethod);
5
+ }
@@ -1,13 +1,8 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
2
  import { VehicleClaimDetails } from '../../models';
3
- import { VehicleLogbookCollection } from '../../collections';
4
3
  /**
5
4
  * Add/Edit vehicle claim details form
6
5
  */
7
6
  export declare class VehicleClaimDetailsForm extends AbstractForm<VehicleClaimDetails> {
8
- /**
9
- * @param vehicleClaimDetails required because we create a new details with prefilled data (like Financial year)
10
- * @param logbooks required for isManual field disabled state management
11
- */
12
- constructor(vehicleClaimDetails: VehicleClaimDetails, logbooks: VehicleLogbookCollection);
7
+ constructor(vehicleClaimDetails: VehicleClaimDetails, isBestPeriodExist: boolean);
13
8
  }
@@ -5,9 +5,12 @@ import { VehicleClaimDetails } from '../../models';
5
5
  * Add/Edit Vehicle Claim form
6
6
  */
7
7
  export declare class VehicleClaimForm extends AbstractForm<VehicleClaim> {
8
+ private vehicleClaim;
9
+ private details;
8
10
  /**
9
11
  * @param vehicleClaim required even for the new claim, because claim needs business for sole tank
10
12
  * @param details required for form controls disabled state management
11
13
  */
12
14
  constructor(vehicleClaim: VehicleClaim, details: VehicleClaimDetails);
15
+ getAverageWeeklyKMS(): number;
13
16
  }
@@ -17,4 +17,8 @@ export declare class VehicleLogbookForm extends AbstractForm<VehicleLogbook> {
17
17
  * @param logbooks list of all logbooks related to current logbook's vehicle. Required for form fields validation and disabled state management
18
18
  */
19
19
  constructor(logbook: VehicleLogbook, logbooks: VehicleLogbookCollection);
20
+ /**
21
+ * Set logbook validators and disable state depends of initial logbook and its place in the whole list
22
+ */
23
+ private updateStateAndValidators;
20
24
  }
@@ -6,6 +6,7 @@ import { BankAccountBalance } from '../../db/Models/bank/bank-account-balance';
6
6
  import { BankAccountProperty } from './bank-account-property';
7
7
  import { BankConnection } from './bank-connection';
8
8
  import { SoleBusinessAllocation } from '../sole';
9
+ import { Bank } from './bank';
9
10
  export declare class BankAccount extends BankAccountBase {
10
11
  bankAccountProperties: BankAccountProperty[];
11
12
  businessAllocations: SoleBusinessAllocation[];
@@ -13,6 +14,7 @@ export declare class BankAccount extends BankAccountBase {
13
14
  loan: Loan;
14
15
  bankConnection: BankConnection;
15
16
  type: BankAccountTypeEnum;
17
+ get bank(): Bank;
16
18
  /**
17
19
  * Get current opening balance amount
18
20
  */
@@ -11,17 +11,17 @@ export declare class ChartAccounts extends ChartAccountsBase {
11
11
  */
12
12
  toString(): string;
13
13
  /**
14
- * Check if chart accounts id is related for 'Klms travelled for work' category
14
+ * Check if chart accounts id is related for 'Kms travelled for work' category
15
15
  */
16
- isKlmsForWork(): boolean;
16
+ isKmsForWork(): boolean;
17
17
  /**
18
- * Check if chart accounts id is related for 'Klms travelled for sole' category
18
+ * Check if chart accounts id is related for 'Kms travelled for sole' category
19
19
  */
20
- isKlmsForSole(): boolean;
20
+ isKmsForSole(): boolean;
21
21
  /**
22
- * Check if accounts id is related for KLMs category related to passed tank type
22
+ * Check if accounts id is related for KMs category related to passed tank type
23
23
  */
24
- isKLMsByTankType(tankType: TankTypeEnum): boolean;
24
+ isKMsByTankType(tankType: TankTypeEnum): boolean;
25
25
  /**
26
26
  * Check if chart accounts id is related for 'NRAS Tax Offset' category
27
27
  */
@@ -3,5 +3,6 @@ export declare enum DepreciationGroupEnum {
3
3
  PLANT_EQUIPMENT = 1,
4
4
  LOW_VALUE_POOL = 2,
5
5
  WRITTEN_OFF_ITEMS = 3,
6
- BORROWING_EXPENSES = 4
6
+ BORROWING_EXPENSES = 4,
7
+ SMALL_BUSINESS_POOL = 5
7
8
  }
@@ -8,6 +8,9 @@ import { IReceipt } from '../../interfaces/receipt.interface';
8
8
  import { Transaction } from '../transaction/transaction';
9
9
  import { Expense } from '../../interfaces/expense.interface';
10
10
  import { DepreciationReceipt } from './depreciation-receipt';
11
+ /**
12
+ * @TODO Alex: clarify grouping rules and refactor
13
+ */
11
14
  export declare class Depreciation extends DepreciationBase implements Expense, IReceipt {
12
15
  static WRITTEN_OFF_THRESHOLD: number;
13
16
  static LOW_VALUE_POOL_THRESHOLD: number;
@@ -29,24 +32,14 @@ export declare class Depreciation extends DepreciationBase implements Expense, I
29
32
  isCapital(): boolean;
30
33
  isBorrowingExpense(): boolean;
31
34
  isAsset(): boolean;
32
- /**
33
- * check if depreciation should be displayed in written off category
34
- * details in project documentation
35
- * @TODO new FinancialYear(this.writeOffDate) === new FinancialYear()
36
- */
37
- isWrittenOff(): boolean;
38
- /**
39
- * Check if depreciation is Plant & Equipment
40
- */
41
- isPlantEquipment(): boolean;
42
- /**
43
- * check if depreciation should be displayed in low value pool
44
- * details in project documentation
45
- * @TODO new FinancialYear(this.writeOffDate) === new FinancialYear()
46
- */
47
- isLowValuePool(): boolean;
35
+ isSBPCalculation(): boolean;
48
36
  isPrimeCost(): boolean;
49
37
  isDiminishing(): boolean;
38
+ isPlantEquipmentPool(): boolean;
39
+ isLVP(): boolean;
40
+ isSBP(): boolean;
41
+ isWrittenOff(): boolean;
42
+ get writeOffYear(): number;
50
43
  /**
51
44
  * Check if depreciation chart accounts heading related to vehicles category
52
45
  */
@@ -27,34 +27,36 @@ export declare enum AppEventTypeEnum {
27
27
  MESSAGE_FILE_CREATED = 25,
28
28
  MESSAGE_FILE_DELETED = 26,
29
29
  NOTIFICATION_ADDED = 27,
30
- PROPERTY_UPDATED_WITH_DOCUMENT = 28,
31
- PROPERTY_DOCUMENT_ADDED = 29,
32
- PROPERTY_MOVEMENT_CREATED = 30,
33
- PROPERTY_MOVEMENT_UPDATED = 31,
34
- PROPERTY_MOVEMENT_DELETED = 32,
35
- PROPERTY_SHARE_UPDATED = 33,
36
- PROPERTY_SALE_ADDED = 34,
37
- PROPERTY_SALE_DELETED = 35,
38
- PROPERTY_SUBSCRIPTION_ADDED = 36,
39
- PROPERTY_SUBSCRIPTION_DELETED = 37,
40
- PROPERTY_VALUATION_DOCUMENT_CREATED = 38,
41
- SERVICE_SUBSCRIPTION_UPDATED = 39,
42
- TAX_REVIEW_UPDATED = 40,
43
- TRANSACTION_CREATED = 41,
44
- TRANSACTION_DELETED = 42,
45
- TRANSACTION_UPDATED = 43,
46
- TRANSACTION_UPDATED_WITH_RECEIPT = 44,
47
- TRANSACTION_UPDATED_WITH_DELETED_RECEIPT = 45,
48
- TRANSACTION_RECEIPT_CREATED = 46,
49
- TRANSACTION_RECEIPT_DELETED = 47,
50
- TRANSACTIONS_CREATED = 48,
51
- USER_UPDATED = 49,
52
- VEHICLE_CLAIM_UPDATED = 50,
53
- VEHICLE_CLAIM_CREATED = 51,
54
- VEHICLE_CLAIM_DETAILS_UPDATED = 52,
55
- VEHICLE_CLAIM_DETAILS_CREATED = 53,
56
- VEHICLE_LOGBOOK_CREATED = 54,
57
- VEHICLE_LOGBOOK_UPDATED = 55,
58
- VEHICLE_LOGBOOK_DELETED = 56,
59
- VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED = 57
30
+ PROPERTY_DEPRECIATION_CALCULATION_UPDATED = 28,
31
+ PROPERTY_UPDATED_WITH_DOCUMENT = 29,
32
+ PROPERTY_DOCUMENT_ADDED = 30,
33
+ PROPERTY_MOVEMENT_CREATED = 31,
34
+ PROPERTY_MOVEMENT_UPDATED = 32,
35
+ PROPERTY_MOVEMENT_DELETED = 33,
36
+ PROPERTY_SHARE_UPDATED = 34,
37
+ PROPERTY_SALE_ADDED = 35,
38
+ PROPERTY_SALE_DELETED = 36,
39
+ PROPERTY_SUBSCRIPTION_ADDED = 37,
40
+ PROPERTY_SUBSCRIPTION_DELETED = 38,
41
+ PROPERTY_VALUATION_DOCUMENT_CREATED = 39,
42
+ SERVICE_SUBSCRIPTION_UPDATED = 40,
43
+ SOLE_DEPRECIATION_METHOD_UPDATED = 41,
44
+ TAX_REVIEW_UPDATED = 42,
45
+ TRANSACTION_CREATED = 43,
46
+ TRANSACTION_DELETED = 44,
47
+ TRANSACTION_UPDATED = 45,
48
+ TRANSACTION_UPDATED_WITH_RECEIPT = 46,
49
+ TRANSACTION_UPDATED_WITH_DELETED_RECEIPT = 47,
50
+ TRANSACTION_RECEIPT_CREATED = 48,
51
+ TRANSACTION_RECEIPT_DELETED = 49,
52
+ TRANSACTIONS_CREATED = 50,
53
+ USER_UPDATED = 51,
54
+ VEHICLE_CLAIM_UPDATED = 52,
55
+ VEHICLE_CLAIM_CREATED = 53,
56
+ VEHICLE_CLAIM_DETAILS_UPDATED = 54,
57
+ VEHICLE_CLAIM_DETAILS_CREATED = 55,
58
+ VEHICLE_LOGBOOK_CREATED = 56,
59
+ VEHICLE_LOGBOOK_UPDATED = 57,
60
+ VEHICLE_LOGBOOK_DELETED = 58,
61
+ VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED = 59
60
62
  }
@@ -1,5 +1,6 @@
1
1
  export declare class FinancialYear {
2
2
  constructor(date?: Date);
3
+ static weeksInYear: number;
3
4
  static startMonthIndex: number;
4
5
  year: number;
5
6
  startDate: Date;
@@ -1,7 +1,9 @@
1
1
  export * from './sole-business';
2
+ export * from './sole-business-activity';
2
3
  export * from './sole-business-allocation';
3
4
  export * from './sole-business-loss';
4
5
  export * from './sole-contact';
6
+ export * from './sole-depreciation-method';
5
7
  export * from './sole-details';
6
8
  export * from './sole-invoice';
7
9
  export * from './sole-invoice-item';
@@ -0,0 +1,3 @@
1
+ import { SoleBusinessActivity as SoleBusinessActivityBase } from "../../db/Models/sole/sole-business-activity";
2
+ export declare class SoleBusinessActivity extends SoleBusinessActivityBase {
3
+ }
@@ -8,6 +8,7 @@ import { VehicleClaim } from '../vehicle';
8
8
  import { Depreciation } from '../depreciation/depreciation';
9
9
  import { Transaction } from '../transaction/transaction';
10
10
  import { Photoable } from '../../interfaces/photoable';
11
+ import { SoleBusinessActivity } from '../../db/Models/sole/sole-business-activity';
11
12
  export declare class SoleBusiness extends SoleBusinessBase implements Photoable {
12
13
  /**
13
14
  * Maximum number of businesses that a person can have, according to the ATO
@@ -21,6 +22,7 @@ export declare class SoleBusiness extends SoleBusinessBase implements Photoable
21
22
  vehicleClaims: VehicleClaim[];
22
23
  transactions: Transaction[];
23
24
  depreciations: Depreciation[];
25
+ activity: SoleBusinessActivity;
24
26
  getPhotoPlaceholder(): string;
25
27
  getPhoto(): string;
26
28
  }
@@ -0,0 +1,4 @@
1
+ import { SoleDepreciationMethod as SoleDepreciationMethodBase } from '../../db/Models/sole/sole-depreciation-method';
2
+ export declare class SoleDepreciationMethod extends SoleDepreciationMethodBase {
3
+ isSBP(): boolean;
4
+ }
@@ -2,7 +2,7 @@ import { SoleBusiness } from './sole-business';
2
2
  import { BankAccount } from '../bank/bank-account';
3
3
  import { SoleInvoiceTemplate as SoleInvoiceTemplateBase } from '../../db/Models/sole/sole-invoice-template';
4
4
  export declare class SoleInvoiceTemplate extends SoleInvoiceTemplateBase {
5
+ isTaxIncluded: boolean;
5
6
  business: SoleBusiness;
6
7
  bankAccount: BankAccount;
7
- static create(businessId: number): SoleInvoiceTemplate;
8
8
  }
@@ -38,9 +38,9 @@ export declare class Transaction extends TransactionBase implements Expense, IRe
38
38
  isPersonal(): boolean;
39
39
  get chartAccountsCategories(): ChartAccountsCategoryEnum[];
40
40
  /**
41
- * Check if transaction has 'Klms travelled for work' chart accounts category
41
+ * Check if transaction has 'Kms travelled for work' chart accounts category
42
42
  */
43
- get isKlmsChartAccountsCategory(): boolean;
43
+ get isKmsChartAccountsCategory(): boolean;
44
44
  /**
45
45
  * Get transaction date
46
46
  */
@@ -3,6 +3,7 @@ import { VehicleClaim } from './vehicle-claim';
3
3
  /**
4
4
  * Class contains traveled kilometers and work usage percent in 12 weeks date range
5
5
  * @TODO Vik: Best period: move this and related logic to backend
6
+ * @TODO Alex: check if we need this class when calculation refactored with backend
6
7
  */
7
8
  export declare class LogbookPeriod {
8
9
  from: Date;
@@ -1,8 +1,14 @@
1
1
  import { VehicleClaimDetails as VehicleClaimDetailsBase } from '../../db/Models/vehicle/vehicle-claim-details';
2
2
  import { User } from '../user/user';
3
+ import { VehicleClaimDetailsMethodEnum } from '../../db/Enums/vehicle-claim-details-method.enum';
3
4
  export declare class VehicleClaimDetails extends VehicleClaimDetailsBase {
5
+ /**
6
+ * Init default values for the new instances
7
+ */
8
+ isManual: boolean;
9
+ method: VehicleClaimDetailsMethodEnum;
10
+ financialYear: number;
4
11
  user: User;
5
12
  isLogbookMethod(): boolean;
6
- isKlmsMethod(): boolean;
7
- static create(): VehicleClaimDetails;
13
+ isKmsMethod(): boolean;
8
14
  }
@@ -14,18 +14,20 @@ export declare class VehicleClaim extends VehicleClaimBase {
14
14
  static totalWorkUsagePercent: number;
15
15
  details: VehicleClaimDetails;
16
16
  business: SoleBusiness;
17
+ kilometers: number;
18
+ workUsage: number;
17
19
  isWorkTank(): boolean;
18
20
  isSoleTank(): boolean;
19
21
  get tankType(): TankTypeEnum;
20
22
  /**
21
- * Claim amount for KLMs method. Exists only for KLMs method.
23
+ * Claim amount for KMs method. Exists only for KMs method.
22
24
  */
23
- getKLMsClaimAmount(vehicleClaimRate: number): number;
25
+ getKMSClaimAmount(vehicleClaimRate: number): number;
24
26
  /**
25
27
  * Get logbook claim amount. Exists only for logbook method.
26
28
  * ClaimAmount = WorkUsage * transaction/depreciation amount
27
29
  */
28
30
  getLogbookClaimAmount(transactions: TransactionCollection): number;
29
- getKlmsChartAccountsIdByTankType(tankType?: TankTypeEnum): number;
30
- static create(details: VehicleClaimDetails, business?: SoleBusiness): VehicleClaim;
31
+ getAverageWeeklyKMS(): number;
32
+ static getKMSChartAccountsIdByTankType(tankType: TankTypeEnum): number;
31
33
  }
@@ -1,17 +1,21 @@
1
1
  import { VehicleLogbook as VehicleLogbookBase } from '../../db/Models/vehicle/vehicle-logbook';
2
2
  import { SoleBusiness } from '../sole';
3
3
  import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
4
+ import { DateRange } from 'moment-range';
4
5
  export declare class VehicleLogbook extends VehicleLogbookBase {
5
6
  /**
6
- * 12 weeks in milliseconds
7
- * "To work out your business-use percentage, you need to keep a logbook and the odometer readings for the logbook period.
8
- * The logbook period is a minimum continuous period of 12 weeks." © Nicole Kelly
7
+ * Logbook period duration in weeks.
8
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/211517441/Logbook+Vehicle
9
9
  */
10
- static periodDuration: number;
10
+ static bestPeriodWeeks: number;
11
11
  date: Date;
12
12
  business: SoleBusiness;
13
13
  get kilometers(): number;
14
14
  get tankType(): TankTypeEnum;
15
15
  isWorkTank(): boolean;
16
16
  isSoleTank(): boolean;
17
+ /**
18
+ * Get logbook period date range from logbook date and weeksInPeriod duration
19
+ */
20
+ getPeriod(): DateRange;
17
21
  }
@@ -0,0 +1,13 @@
1
+ import { Observable } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Service to work with Rewardful (affiliate program) API
5
+ * https://developers.rewardful.com/javascript-api/overview#executing-code-when-rewardful-loads
6
+ */
7
+ export declare class RewardfulService {
8
+ private environment;
9
+ constructor(environment: any);
10
+ getReferralCode(): Observable<string>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<RewardfulService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<RewardfulService>;
13
+ }
@@ -47,6 +47,14 @@ export declare class DepreciationService extends RestService<DepreciationBase, D
47
47
  */
48
48
  private listenVehicleClaimChanges;
49
49
  private replaceInCache;
50
+ /**
51
+ * @TODO Alex: create common method resetCacheOn(events: AppEventType[])
52
+ */
53
+ private listenSoleDepreciationMethodChanges;
54
+ /**
55
+ * @TODO Alex: create common method resetCacheOn(events: AppEventType[])
56
+ */
57
+ private listenPropertyDepreciationCalculationChanges;
50
58
  static ɵfac: i0.ɵɵFactoryDeclaration<DepreciationService, never>;
51
59
  static ɵprov: i0.ɵɵInjectableDeclaration<DepreciationService>;
52
60
  }
@@ -26,6 +26,7 @@ export declare class PropertyService extends RestService<PropertyBase, Property>
26
26
  private listenSalesAdded;
27
27
  private listenSalesDeleted;
28
28
  update(property: Property): Observable<Property>;
29
+ updateDepreciationCalculation(property: Property): Observable<Property>;
29
30
  getByCategoryId(id: number): Observable<Property[]>;
30
31
  /**
31
32
  * Activate deactivated property
@@ -1,4 +1,6 @@
1
1
  export * from './sole-business/sole-business.service';
2
+ export * from './sole-business-activity/sole-business-activity.service';
2
3
  export * from './sole-contact/sole-contact.service';
4
+ export * from './sole-depreciation-method/sole-depreciation-method.service';
3
5
  export * from './sole-details/sole-details.service';
4
6
  export * from './sole-invoice-template/sole-invoice-template.service';
@@ -0,0 +1,11 @@
1
+ import { RestService } from '../../rest/rest.service';
2
+ import { SoleBusinessActivity as SoleBusinessActivityBase } from '../../../../db/Models/sole/sole-business-activity';
3
+ import { SoleBusinessActivity } from '../../../../models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class SoleBusinessActivityService extends RestService<SoleBusinessActivityBase, SoleBusinessActivity> {
6
+ modelClass: typeof SoleBusinessActivity;
7
+ url: string;
8
+ isHydra: boolean;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<SoleBusinessActivityService, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<SoleBusinessActivityService>;
11
+ }